<script> var arr=[1,8,6,4,88,22,99,4,6,86,5,58,89,5]; //先使用sort()函数去重 var a=arr.sort(function b (c,d) { return c-d }); console.log(a); //a为去重后的数组 //运用双遍历方法对比去重 for (var i = 0; i <= a.length; i++) { for (var j = 0; j <= a.length; j++) { if(i!=j…
冒泡排序 , , , , , , , ]; function test(){ ; i < arr.length - ; i++){ ; j < arr.length; j++){ var tempi = arr[i]; //获取第一个值,并与后一个值比较 var tempj = arr[j]; if (tempi > tempj){ arr[i] = tempj; arr[j] = tempi;//如果前一个值比后一个值大,那么相互交换 } } } console.log(arr); /…
有些代码一两个月都会忘了,有空多做下总结,记录下来,等需要用到的时候可以来翻翻总结的博客.写技术博客,对自己是一种总结,对别人,是一种参考. 1.sort()方法 var ar1=[2,4,6,8,1,3] var ar2=[2,16,36,8,56] ar1.sort() ar2.sort()//这个方法值只能排序第一位数 也可以字符串进行排序 console.log(ar1)//[1,2,3,4,6,8] console.log(ar2)//[16, 2, 36, 56, 8] ar2.so…
sort() 方法用于对数组的元素进行排序. 语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. 当方法不带参数的时候,将按照字符编码顺序进行排序,如果想要对数字进行排序则需要编写相应的函数. ,,,,]; console.log(arr.sort()) --> [,,,4,]; 这时候sort()方法则是根据ASCII码进行排序,将数组中的元素作为字符串处理,我们做一点小改动 ,,,,]; function compare(a,b){ re…
前端开发过程中有时需自己手写排序方法 一般想到数字的字符串排序方法 我们会用到 var newArr = arr. sort(function(a,b){return a - b})来进行排序 但除此之外我们会需要进行一些字符串的排序 此时我们可以用到 var newArr = arr.sort(function(a,b){return a.localeCompare(b)})来进行排序 但中文排序时发现不是我们想要的  可以通过加参数的方法  a.localeCompare(b,'zh-CN'…
reverse() 作用:反转原数组. 用法: array.reverse(); 图解: sort() 作用:对原数组进行排序.默认将每个数组项 先 转换为字符串 再 进行字符串对比后升序排序. 用法:array.sort(); 图解1/2/3:   字符串 之间的比较, 从左往右 依次比较. 就像图解1中  11 转换为‘11’ 后, 由于第一个字符为 1 , 比 2,5 都小: 所以 11 排在第一位. 为了弥补对数字排序的缺陷, sort() 方法可以接收一个比较函数作为参数. 比较函数接…
function bubbleSort(arr){ var flag = false; // 定义一个变量为false,未交换位置 for(var i=0;i<arr.length-1;i++){ for(var j=0;j<arr.length-1;j++){ if(arr[j+1]<arr[j]){ temp = arr[j+1]; arr[j+1] = arr[j]; arr[j] = temp; flag = true; //true,已交换位置 } } if(flag){ fl…
方法一: 双层循环,外层循环元素,内层循环时比较值 如果有相同的值则跳过,不相同则push进数组 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Array.prototype.distinct = function(){  var arr = this,   result = [],   i,   j,   len = arr.length;  for(i = 0; i < len; i++){   for(j = i + 1; j < len;…
前言 总括 : 原文地址:理解Node.js的事件轮询 Node小应用:Node-sample 智者阅读群书,亦阅历人生 正文 Node.js的两个基本概念 Node.js的第一个基本概念就是I/O操作开销是巨大的: 所以,当前变成技术中最大的浪费来自于等待I/O操作的完成.有几种方法可以解决性能的影响: 同步方式:按次序一个一个的处理请求.利:简单:弊:任何一个请求都可以阻塞其他所有请求. 开启新进程:每个请求都开启一个新进程.利:简单:弊:大量的链接意味着大量的进程. 开启新线程:每个请求都…
初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员Ryan Dahl创造了node.js项目,将javascript语言用于服务器端编程,这标志”Javascript模块化编程”正式诞生. 在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限:但是在服务器端,一定要有模块,与操作系统和其他应用程序互动,否则根本没法编程. node.j…
理解Node.js 为了理解Node.js是如何工作的,首先你需要理解一些使得Javascript适用于服务器端开发的关键特性.Javascript是一门简单而又灵活的语言,这种灵活性让它能够经受住时间的考验.函数.闭包等特性使Javascript成为一门适合Web开发的理想语言. 有一种偏见认为Javascript是不可靠的,然而事实并非如此.人们对Javascript的偏见来源于DOM,DOM是浏览器厂商提供的用于Javascript与浏览器交互的API,不同浏览器厂商实现的DOM存在差异.…
深入理解Node.js中的垃圾回收和内存泄漏的捕获 文章来自:http://wwsun.github.io/posts/understanding-nodejs-gc.html Jan 5, 2016 对于Node.js而言,通常被抱怨最多的是它的性能问题.当然这并不意味着Node.js在性能方面就比其他技术表现的都更差, 因此开发者有必要清晰的理解Node.js是具体如何工作的的.由于这个技术有一个非常扁平的学习曲线, 如果要跟踪Node.js的运行,通常都比较复杂,因此你需要提前理解它的运行…
前言 之前有深入讲解过Three.js中光源,在那篇文章的最后也说了由于平面光光源的特殊性,所以会单独拿出来讲解,这篇文章会详细的讲解平面光光源的特性和实际应用该如何使用. 首先,平面光光源从一个矩形平面上均匀地发射光线,这种光源的主要应用场景是模拟明亮的窗户或者条状灯光光源,实际在开发家具建模项目中会有广泛应用.平面光光源的最大特点事不支持阴影,我们无法通过设置RectAreaLight.castShadow = true来映射让物体显示阴影,而且,平面光光源支持的材质也很有限,只有MeshS…
前言 在开始正式讲解透视摄像机前,我们先来理理three.js建模的流程.我们在开始创建一个模型的时候,首先需要创建我们模型需要的物体,这个物体可以是three.js中已经为我们封装好的,比如正方体,球体,平面等,当然我们也可以通过导入的方式导入模型文件.然后我们需要根据项目的需求为创建好的物体添加不同类型的材质,材质可以是纹理,颜色或者是贴图.物体和材质通过new Mesh()方法就会组合成一个网格mesh,这个时候我们会通过three.js提供的渲染方法将创建好的网格mesh渲染到场景sce…
前言 在深入理解Three.js中透视投影照相机PerspectiveCamera那篇文章中讲解了透视投影摄像机的工作原理以及对应一些参数的解答,那篇文章中也说了会单独讲解Three.js中另一种常用的摄像机正交摄像机OrthographicCamera,这篇文章将会详细的讲解正交摄像机的工作原理和其对应参数的用法,当然,为了能够让读者更加直观的理解正交摄像机,我会制作一个与正交摄像机相关的demo来直观的让读者感受正交摄像机的魅力. 原理说明 深入理解Three.js中透视投影照相机Persp…
前言 在可视化开发中,无论是2d(canvas)开发还是3d开发,线条的绘制应用都是比较普遍的.比如绘制城市之间的迁徙图,运行轨迹图等.本文主要讲解的是Three.js中三种线条Line,LineLoop,LineSegments之间的区别,每种线条的原理和对应参数的含义,以及如何选择使用场景等问题.Three.js中提供了两种线条材质,分别是LineBasicMaterial和LineDashedMaterial,本文中讲解到的示例都使用LineBasicMaterial材质,后续也会专门总结…
Going out to eat and understanding the basics of Express.js出去就餐并且理解Express.js的基本知识 原文:Going out to eat and understanding the basics of Express.js 译者:neal1991 welcome to star my articles-translator, providing you advanced articles translation. Any sug…
Androidstudio实现一个简易的加法器——分享两种方法实现(日常作业练习)                                                                                                ————安德风 一.作业题目要求: 二.实现题目第一问(等号通过按钮实现[button]) 1.前期需要在activity_main.xml文件设计布局  最终布局效果图 2.控件准备: 需要2个EditText控件(两个输入…
为什么80%的码农都做不了架构师?>>>   好程序员分享Web前端面试题汇总JS篇之跨域问题,接着上一篇文章我们继续来探讨web前端面试必备面试题. 跨域解决方案 1. 通过jsonp跨域 2. 跨域资源共享(CORS) 3. nodejs中间件代理跨域 4. nginx反向代理中设置proxy_cookie_domain Ⅰ.通过jsonp跨域 通常为了减轻Web服务器的负载,我们把js.css,img等静态资源分离到另一台独立域名的服务器上,在html页面中再通过相应的标签从不同域…
一.Javascript的引擎 浏览器一般有两个引擎,一个是Html引擎,一个是脚本引擎. JavaScript是一种脚本语言,最初用于浏览器的动态显示,方便操作页面数据和内容.但实际上,它也可以在浏览器外运行(如服务器端),就像C.C++.Java语言一样,因此,它是一种开发语言. 我们知道,Java的运行环境是Jvm,而JavaScript的运行环境是JavaScript引擎. 但JavaScript没有标准的运行环境(或称为引擎),我们所熟知的浏览器都有各自的脚本引擎,如:Mozilla的…
jPaginate 是一款非常精致的分页插件,提供了五种不同风格的分页效果,支持鼠标悬停翻页,快速分页功能.这款插件还提供了丰富的配置选项,你可以根据需要进行设置. 效果演示      源码下载 各个效果的使用示例代码: $(function() { $("#demo1").paginate({ count : 100, start : 1, display : 8, border : true, border_color : '#fff', text_color : '#fff',…
我来分享一个快速设置背景的js (需要jq支持!) 快速切图铺页面用---就是不需要手动输入背景图的长宽 自动获取背景图的长宽 : <div class="wrap"> <div style="background: url(images/by_01.jpg) no-repeat top center;"></div> <div style="background: url(images/by_02.jpg) no…
几种常用的JS类定义方法   // 方法1 对象直接量var obj1 = {    v1 : "",    get_v1 : function() {        return this.v1;    },    set_v1 : function(v) {        this.v1 = v;    }}; // 方法2 定义函数对象var Obj = function() {    var v1 = "";    this.get_v1 = functio…
转载自:http://gxxsite.com/content/view/id/132.html 在backbone.js的学习过程中,被bind和bindAll弄得有点晕,这里包括underscore.js的bind和bindAll,以及JQuery提供的bind方法.在一篇En博客中学习,写下这篇笔记 1.首先说熟悉的JQuery的bind,引用api帮助文件的内容即可很清晰地理解其使用意义和方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19…
原文地址:http://www.maomao365.com/?p=7307 摘要:    以前分割字符串时,都使用类似split函数的方式处理,下文分享一种对有规律的字符串的分隔方式,    即:1.使用replace函数,将字符串变成合规的xml格式串        2.使用xml.value的方式获取指定的字符串信息     如下所示:     实验环境:sqlserver 2008 R2   --例: -----获取下面字符串中中括号中的内容 -----我们可以将下列规则的字符串采用rep…
Map集合遍历的四种方式理解和简单使用   ~Map集合是键值对形式存储值的,所以遍历Map集合无非就是获取键和值,根据实际需求,进行获取键和值 1:无非就是通过map.keySet()获取到值,然后根据键获取到值 for(String s:map.keySet()){            System.out.println("key : "+s+" value : "+map.get(s));     } 2:通过Map.Entry(String,String…
三种取消选中radio的方式,本文依赖于jQuery,其中第一种,第二种方式是使用jQuery实现的,第三种方式是基于JS和DOM实现的. <!DOCTYPE HTML> <html> <head> <title>单选按钮取消选中的三种方式_www.jbxue.com</title> <script type="text/javascript" src="http://lib.sinaapp.com/js/jq…
前言: Three.js 是一个封装了 WebGL 接口的非常好的库,简化了 WebGL 很多细节,降低了学习成本,是当前前端开发者完成3D绘图的得力工具,那么今天我就给大家详细讲解下 Three.js 中各种光源的区别和引用场景. 为了更加直观的展示不同光源的特性,我特意做了一个 demo 通过动画来区别不同类型光源的特性,demo 中会展示点光源,环境光源,平行光源,半球光源,聚光灯光源五中光源的特性,为了能够直观体验光源移动过程中物体受光源的影响和光源位置,所以在光源的相同位置增加了一个白…
!-- 这里为你提供了三种动态加载js的jquery实例代码哦,由于jquery是为用户提供方便的,所以利用jquery动态加载文件只要一句话$.getscript("test.js");就ok了. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"&g…
本篇文章给大家介绍一下6种JS数组遍历方法:for.foreach.for in.for of.. each. ().each的区别.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 一.for Javascript中的for循环,它用来遍历数组 var arr = [1,2,3,4] for(var i = 0 ; i< arr.length ; i++){ console.log(arr[i]) } //1,2,3,4 九九乘法表: for ( var x = 1; x <…