forEach和map(必须加return)

  1. var arr = [1, 2, 3, 4];
  2. //forEach
  3. arr.forEach((item,index) =>{
  4. console.log(item+"--"+index)
  5. })
  6. //for...of...
  7. for(var i of arr){
  8. console.log(i);
  9. }
  10. //map可以改变数组的每一项,得到一个新的值
  11. var res=arr.map(item=>{
  12. return item*2
  13. })
  14. console.log(arr);
  15. console.log(res);

例子

  1. var arr=[
  2. {name:"html",value:"12px"},
  3. {name:"css",value:"13px"},
  4. {name:"vue",value:"11px"},
  5. ]
  6. // var res=[];
  7. // arr.map(item=>{
  8. // var result =parseInt(item.value)*2
  9. // res.push({
  10. // name:item.name,
  11. // value:result
  12. // })
  13. // })
  14. // console.log(res)
  15. var res=[]
  16. for(var key in arr){
  17. arr[key].value=parseInt(arr[key].value)*2;
  18. res.push(arr[key])
  19. }
  20. console.log(res);
  21. // arr.map(item=>{
  22. // var value=parseInt(item.value)*2
  23. // return item.value=value;
  24. // })
  25. // console.log(arr);
  26. // var res=arr.map(item=>{
  27. // return item*2
  28. // })
  29. // console.log(res);
  1. <script>
  2. /*
  3. 1.数组的每一项是基础(简单)类型,执行map不会改变数组原来的结构
  4. 2.数组的每一项是复杂类型{object},那么执行map方法会改变原来的数据结构
  5. */
  6. var arr=[1,2,3];
  7. var res=arr.map(item=>{
  8. return item*3
  9. })
  10. console.log(arr);//[1, 2, 3]
  11. console.log(res);// [3, 6, 9]
  12. var obj=[
  13. {name:"li",age:12},
  14. {name:"chen",age:12}
  15. ];
  16. var result =obj.map(item=>{
  17. return item.age=0
  18. })
  19. console.log(result)// [0, 0]
  20. console.log(obj)//[{name: "li", age: 0},{name: "chen", age: 0}]
  21. </script>

some(必须加return)和every(必须加return)

  1. // some 返回boolean 只有数组中一项满足条件,就输出true
  2. //every 返回boolean 只有数组中每一项满足某个条件,就输出true
  3. var arr=[1,2,3,4];
  4. var res=arr.some(item=>{
  5. return item>2;
  6. })
  7. var b=arr.every(item=>item>2);
  8. console.log(res);//true
  9. console.log(b);//false

filter过滤(必须加return)

  1. <script>
  2. var arr=[1,2,3]
  3. var res= arr.filter(item=>item>2);
  4. console.log(res);//[3]
  5. </script>

例子

  1. <script>
  2. var arr=[
  3. {name:"小米",price:1999},
  4. {name:"红米",price:999},
  5. {name:"iPhone",price:9999},
  6. {name:"华为",price:3000},
  7. ]
  8. var res=arr.filter(item=>item.price>1000)
  9. console.log(res);
  10. </script>

findIndex寻找符合条件的第一个元素de下标值

  1. <script>
  2. var arr=[1,2,3,2];
  3. var index=arr.findIndex(item=>{
  4. return item==2;
  5. })
  6. console.log(index);//1
  7. </script>

find 返回值是通过测试(函数内判断)的数组的第一个元素的值(加return)

  1. var arr=[2,4,6];
  2. console.log(arr.find(item=>item>=2));//2
  3. console.log(arr.find(item=>item>=4));//4