一、ForEach 遍历
var arr = [2,3,4,5];
// forEach
/*
1.对数组执行遍历
*/
arr.forEach((item,index)=>{
console.log(item+"--"+index)
item+=2;
})
二、Of 遍历
var arr = [1, 2, 3];
for (var i of arr) {
console.log(i)
}
三、For-in遍历
var arr = [
{ name: "HTML", value: "12px" },
{ name: "CSS", value: "13px" },
{ name: "JavaScript", value: "11px" }
]
var res=[];
for(var key in arr){
arr[key].value=parseInt(arr[key].value)*2;
res.push(arr[key]);
}
console.log(res)
四、Map 遍历
4-1、Map
可以改变数组的每一项,变成一个新数组
var arr = ["a","b","c","d"]
var b= arr.map(item=>{
return item+"1"
})
console.log(b); //a1,b1,c1,d1
4-2、如果数组的每一项是基础(简单类型),执行map不会改变数组原来的结构
var arr=[12,13,14,15,16]
// 如果数组的每一项是基础(简单类型),执行map不会改变数组原来的结构
var res=arr.map(item=>{
return item*3;
})
console.log(arr)
console.log(res)
4-3、数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
// 数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
var arrs = [
{ name: "HTML", value: "12px",age:18 },
{ name: "CSS", value: "13px",age:16},
{ name: "JavaScript", value: "11px",age:20 }
]
var ress=arrs.map(item=>{
return item.value=0;
})
console.log(arrs)
console.log(ress)
4-4、练习
var arr = [
{ name: "HTML", value: "12px" },
{ name: "CSS", value: "13px" },
{ name: "JavaScript", value: "11px" }
]
var res = arr.map(item => {
return item["value"]=parseInt(item["value"])*2
})
console.log(arr)
五、Some 方法
5-1、只要数组中有一项满足条件,就输出true
var arr = [1,2,3,4,5]
var res = arr.some(item =>{
return item>3
})
console.log(res); // true
六、Every 方法
6-1、 数组中的每一项满足条件,才输出true
var arr = [1,2,3,4,5]
var str = arr.every(item => item >2)
console.log(str); //false
七、findIndex
输出对应值的下标值
var arr = [1,2,3,2];
var index=arr.findIndex(item=>{
return item==2
})
console.log(index) //输出第一个为 2 的下标值
八、Filter
输出满足条件的值 (筛选,过滤)
var arr = [1,2,3,2];
var res=arr.filter(item=>item>2)
res.push(arr[i])
console.log(res) //输出大于 2 的值
九、Find
找到一个就返回匹配的元素,没找到就返回undefined
var arr = [1, 2, 3, 4, 5, 6]
var newArr = arr.find(val => {
return val > 2
})
console.log(newArr) // 3