var arr=["a","b","c","d","c","b","d","f"];var newarr=[];//存放不重复元素的数组var count=[];//记录重复元素的元素和索引值for(var i=0;i<arr.length;i++){ var type=true; for(var j=0;j<newarr.length
原文:http://blog.csdn.net/ma_jiang/article/details/52672762 最劲项目需要用到js数组去重和交集的一些运算,我的数组元素个数可能到达1000以上,网上的实现方式都是2次循环,性能不适合我的需求,1000*1000那次数太多了,所以我这里采用对象object来做处理,用空间换时间,code 如下: ///集合取交集 Array.intersect = function () { var result = new Array(); var obj
这个想法是在一个面试题中看到的: 题目是这样的: // 一个数组,在指定的index 位置插入一个元素,返回一个新的数组,不改变原来的数组 <script> function insert(arr, item, index) { var newArr = arr.concat() for (var i = 0; i < newArr.length; i++) { if (index > 0) { if (i === index) { newArr.splice(i,0,item
数组的排序 快速排序 思路: (1)在数据集之中,选择一个元素作为”基准”(pivot). (2)所有小于”基准”的元素,都移到”基准”的左边:所有大于”基准”的元素,都移到”基准”的右边. (3)对”基准”左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止. function quickSort(arr){ if (arr.length <= 1){return arr}; var pivotIndex = Math.floor(arr.length / 2); v
一.数组 稠密数组(非稀疏数组) 稀疏数组 二.数组的添加和删除 我们已经常见过添加数组元素最简单的方法:为新索引赋值;也可以使用push()方法在数组末尾增加一个或者多个元素: a = []; a.push("zero"); a.push("one","two"); 可以像删除对象属性一样使用delete运算符来删除数组元素;如果从数组中删除一个元素,它就变成稀疏数组; a = [1,2,3]; delete a[1]; 1 in a
冒泡排序: var a = [2,1,4,3,6,5]; for(var d = 0 ; d< a.length; d++){ for(var b = d+1; b < a.length; b++){ if (a [d] > a [b] ); var c = a [d]; a [d] = a [b]; a [b] = c ; } } for(var e in a){ document.write(a [e] ); } 数组去重: var arr = [9,9,1, 1, 2, 2, 3,
1. indexOf indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. var fruits = ["Banana", "Orange", "Apple", "Mango"]; var a = fruits.indexOf("Apple"); a 结果输出:2 2.filter 1)方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素