forEach和map(必须加return)
var arr = [1, 2, 3, 4];
//forEach
arr.forEach((item,index) =>{
console.log(item+"--"+index)
})
//for...of...
for(var i of arr){
console.log(i);
}
//map可以改变数组的每一项,得到一个新的值
var res=arr.map(item=>{
return item*2
})
console.log(arr);
console.log(res);
例子
var arr=[
{name:"html",value:"12px"},
{name:"css",value:"13px"},
{name:"vue",value:"11px"},
]
// var res=[];
// arr.map(item=>{
// var result =parseInt(item.value)*2
// res.push({
// name:item.name,
// value:result
// })
// })
// console.log(res)
var res=[]
for(var key in arr){
arr[key].value=parseInt(arr[key].value)*2;
res.push(arr[key])
}
console.log(res);
// arr.map(item=>{
// var value=parseInt(item.value)*2
// return item.value=value;
// })
// console.log(arr);
// var res=arr.map(item=>{
// return item*2
// })
// console.log(res);
<script>
/*
1.数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
2.数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
*/
var arr=[1,2,3];
var res=arr.map(item=>{
return item*3
})
console.log(arr);//[1, 2, 3]
console.log(res);// [3, 6, 9]
var obj=[
{name:"li",age:12},
{name:"chen",age:12}
];
var result =obj.map(item=>{
return item.age=0
})
console.log(result)// [0, 0]
console.log(obj)//[{name: "li", age: 0},{name: "chen", age: 0}]
</script>
some(必须加return)和every(必须加return)
// some 返回boolean 只有数组中一项满足条件,就输出true
//every 返回boolean 只有数组中每一项满足某个条件,就输出true
var arr=[1,2,3,4];
var res=arr.some(item=>{
return item>2;
})
var b=arr.every(item=>item>2);
console.log(res);//true
console.log(b);//false
filter过滤(必须加return)
<script>
var arr=[1,2,3]
var res= arr.filter(item=>item>2);
console.log(res);//[3]
</script>
例子
<script>
var arr=[
{name:"小米",price:1999},
{name:"红米",price:999},
{name:"iPhone",price:9999},
{name:"华为",price:3000},
]
var res=arr.filter(item=>item.price>1000)
console.log(res);
</script>
findIndex寻找符合条件的第一个元素de下标值
<script>
var arr=[1,2,3,2];
var index=arr.findIndex(item=>{
return item==2;
})
console.log(index);//1
</script>
find 返回值是通过测试(函数内判断)的数组的第一个元素的值(加return)
var arr=[2,4,6];
console.log(arr.find(item=>item>=2));//2
console.log(arr.find(item=>item>=4));//4