4.3.1、forEach 对数组执行遍历
遍历数组中的每一项,没有返回值,对原数组没有影响
var arr = [2,3,4,5];
arr.forEach((item,index)=>{
console.log(item+"--"+index)
})
/*
2--0
3--1
4--2
5--3*/
4.3.2、of 方法
var arr = [1,2,3];
for(var i of arr){
console.log(i)
}
//
1
2
3
4.3.3、map方法 (有return)
执行map不会改变数组的结构
var arr = [1,2,3];
var res = arr.map(item=>{
return item*2
})
console.log(arr); // [1,2,3]
console.log(res); // [2,4,6]
4.3.4、some方法 (有return)
只要数组中有一项满足条件,就输出true
var arr = [1,2,3,4,5];
var res = arr.some(item=>{
return item>3
})
console.log(res); //true
4.3.5、every方法 (有return)
数组的每一项满足条件,才输出true,否则false
var arr = [1,2,3,4,5];
var str = arr.every(item=>{
return item>0
})
console.log(str); //true
var stt = arr.every(item=>{
return item>2
})
console.log(stt); //false
4.3.6、findeIndex 方法 (有return)
找到符合条件的就返回,返回对应的下标,没有就返回-1
var arr = [1,2,3,4,5];
var a = arr.findeIndex(item=>{
return item == 2;
})
console.log(a); // 1
4.3.7、find 方法 (有return)
找到一个就返回匹配的元素,没找到就返回undefined
var arr = [1,2,3,4,5,6,7,8,9,10];
var fin = arr.find(item=>{
return item>2
})
console.log(fin); // 3
4.3.8、filter 方法 (有return)
筛选,不会改变原数组,会返回一个筛选成功匹配的元素组成的新数组
var arr = [1,2,3,4,5,6];
var res = arr.filter(item=>{
return item>3
})
console.log(res) // [4,5,6]
4.3.9、数组的指针
1.数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
2.数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
var arr = [1,2,3];
var res = arr.map(item=>{
return item*3;
})
console.log(arr);
console.log(res);
var obj = [{name:"li",age:"10"},{age:"zhang",age:11}];
var result = obj.map(item=>{
return item.age = 0;
})
console.log(result);
console.log(obj);