js的Array的常用操作: splice():强大 splice(0,2)会删除数组中的前两项 splice(2,0,"red","green")会从当前数组的位置 2 开始插入字符串"red"和"green" splice (2,1,"red","green")会删除当前数组位置 2 的项,然后再从位置 2 开始插入字符串 "red"和"green" 两个参数:要删除的第一项的位置和要删除的项数 三个参数:起始位置、 0(要删除的项数)和要插入的项 new Array():创建一个数组 length:数组长度 push():添加一个元素 indexOf():返回传入参数在数组中的下标,没有则返回-1 pop():取得最后一个元素(并把这个元素从数组中移除) shift():取得第一个元素(并把这个元素从数组中移除) unshift():数组前端添加任意个元素,并返回数组长度 join():使用不同的分隔符构建返回的字符串 valueOf():返回数组元素构建的字符串 sort():升序排序 reverse():反转数组项顺序 concat():数组副本创建: var colors = ["red", "green", "blue"]; var colors2 = colors.concat("yellow", ["black", "brown"]); slice():创建一个新的数组,操作不会影响原数组 slice(0):创建一个新的数组,原数组的copy slice(0,3):返回三个元素,不包含下标为3的元素 Array.isArray():判断是不是数组 高级: every():对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。 var numbers = [1,2,3,4,5,4,3,2,1]; var everyResult = numbers.every(function(item, index, array){ return (item > 2); }); alert(everyResult); //false var someResult = numbers.some(function(item, index, array){ return (item > 2); }); alert(someResult); //true filter():对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。 var numbers = [1,2,3,4,5,4,3,2,1]; var filterResult = numbers.filter(function(item, index, array){ return (item > 2); }); alert(filterResult); //[3,4,5,4,3] forEach():对数组中的每一项运行给定函数。这个方法没有返回值。 var numbers = [1,2,3,4,5,4,3,2,1]; numbers.forEach(function(item, index, array){ //执行某些操作 }); map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。 var numbers = [1,2,3,4,5,4,3,2,1]; var mapResult = numbers.map(function(item, index, array){ return item * 2; }); alert(mapResult); //[2,4,6,8,10,8,6,4,2] reduce()和 reduceRight()。这两个方法都会迭 代数组的所有项,然后构建一个最终返回的值; reduce()方法从数组的第一项开始,逐个遍历 到最后。而 reduceRight()则从数组的最后一项开始,向前遍历到第一项 var values = [1,2,3,4,5]; var sum = values.reduce(function(prev, cur, index, array){ return prev + cur; }); alert(sum); //15 var values = [1,2,3,4,5]; var sum = values.reduceRight(function(prev, cur, index, array){ return prev + cur; }); alert(sum); //15