最强大的js数组操作splice()
有三种用法:
删除 ,只需要提供两个参数,要删除的第一项位置和要删除的项数,例如splice(2,2);
插入,可以在指定位置插入任意的项,例如splice(2,0,'blue','balck'),在数组的位置2开始插入两个参数
替换,可以替换指定的项,例如splice(2,1,'blue'),删除位置2的项,然后再从位置2开始插入字符串
位置方法 indexOf()与lastIndexOf():
var numbers=[1,3,5,3,10];
console.log(numbers.indexOf(3,2)); --返回3 ,从位置2开始搜索
console.log(numbers.indexOf(3)); --返回1 ,从数组初始开始搜索,如果不存在,则返回-1
迭代方法:
every():对数组中的每一项运行给定函数,如果该函数对每一项都返回true,都返回true,否则返回false
filter():过滤器,返回数组中符合该函数条件的项
forEach():遍历,遍历数组中的每一项,无返回值
map():重置,对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
some():与every相反,对数组中任意一项运行给定函数返回结果为true,则返回true,类似C#中的Any()
var numbers=[1,3,5,3,10];
numbers.every(function(value,index,array){return (value>0)}) --返回ture
numbers.filter(function(value,index,array){return (value>2)}) --返回[3,5,3,10]
numbers.forEach(function(value,index,array){console.log(value);console.log(index;)})
numbers.map(function(value,index,array){return value+1;}) --返回[2, 4, 6, 4, 11]
numbers.some(function(value,index,array){return value>9;}) --返回true
缩小方法:
reduce()与reduceRight() :对数组进行迭代操作,并返回最终的值,比如求和或者求积
numbers.reduce(function(pre,cur,index,array){return pre+cur;})
--返回22 其中,pre每一次迭代后的值,第一次表示数组项1的值,cur表示数组的下一项