数组位置
//从头遍历元素在数组中的位置,如果没有找到则返回-1 var arr=['hao','hi','hello','nihao','nice']; var str=arr.indexOf('nihao'); console.log(str); //3
//从末尾遍历元素在数组中的位置,如果没有找到则返回-1 var arr=['hao','hi','hello','nihao','nice']; var str=arr.lastIndexOf('nihao'); console.log(str); //3
迭代数组
- forEach() 遍历数组
var arr=[1,3,6,8,10,3,4,9]; arr.forEach(function (item,index,array) { console.log(item); })
- every() 检测数组的每一项是否符合某种规则,全符合返回true,否则返回false
var arr=['hao','hi','hello','nihao','nice']; //item为数组遍历的每一项,index为索引,array为数组本身 var f=arr.every(function (item,index,array) { return typeof item==='string'; }); console.log(f); //true var arr=['hao',2,'hi','hello','nihao','nice']; var f=arr.every(function (item,index,array) { return typeof item==='string'; }); console.log(f); //false
迭代数组
- some() 检测数组的每一项是否符合某种规则,只要有一项或一项以上符合返回true,全不符合返回false
var arr=['hao','hi','hello','nihao','nice']; //item为数组遍历的每一项,index为索引,array为数组本身 var f=arr.some(function (item,index,array) { return typeof item==='string'; }); console.log(f); //true var arr=['hao',2,'hi','hello','nihao','nice']; var f=arr.some(function (item,index,array) { return typeof item==='string'; }); console.log(f); //true
filter() 返回符合某种条件的数组元素组成的新数组
var arr=[1,3,6,8,10,3,4,9]; var f=arr.filter(function (item,index,array) { return item % 2==0; }); console.log(f);// [ 6, 8, 10, 4 ]
map() 对数组的每一项运行给定函数,返回每次函数结果组成的数组
var arr=[1,3,6,8,10,3,4,9]; var narr=arr.map(function (item,index,array) { return item*2; }) console.log(narr); //[ 2, 6, 12, 16, 20, 6, 8, 18 ]
var arr=[1,3,6,8,10,3,4,9]; var narr=arr.map(function (item,index,array) { if(item%2===0){ return item*2; } }) console.log(narr); //[ undefined, undefined, 12, 16, 20, undefined, 8, undefined ]