5.1 for in,for of

  1. <script>
  2. var test = [
  3. {name:"zhang",age:"18",height:"180cm"},
  4. {name:"li",age:"19",height:"170cm"},
  5. {name:"wang",age:"14",height:"200cm"}
  6. ]
  7. // 给的是数组的每一项
  8. for (var i of test){
  9. console.log(i.age);
  10. }
  11. // 给的是数组的下标
  12. console.log(test);
  13. for (var i in test){
  14. console.log(i);
  15. }
  16. console.log(test);
  17. </script>

5.2 forEach

遍历数组中的值,并计算总和

  1. var numbers = [1,2,3,4,5];
  2. var sum = 0;
  3. numbers.forEach(number=>sum+=number)
  4. console.log(sum)//15

5.3 map

关于map:当遍历的数组每一项是简单的类型,就不会改变原数组,而当遍历的数组的每一项是复杂的数据类型,那么就会改变原数组。(如果你原数组是复杂数据类型,你重新赋值会改变指针指向的地址,从而改变了原数组

  1. <script>
  2. var arr =[2,3,4,5];
  3. var res0 = arr.map(item =>{
  4. return item*2;
  5. })
  6. console.log(res0);
  7. console.log(arr);
  8. var arr2 = [
  9. {name:"zhang",age:"18",height:"180cm"},
  10. {name:"li",age:"19",height:"170cm"},
  11. {name:"wang",age:"14",height:"200cm"}
  12. ]
  13. // map 可以改变数组每一个项,得到一个新的数组
  14. var res = arr2.map(item =>{
  15. return item["age"]=parseInt(item["age"])*2+"px";
  16. })
  17. console.log(arr2); //{name:"zhang",age:"36px",height:"180cm"},{name:"li",age:"38px",height:"170cm"},{name:"wang",age:"28px",height:"200cm"}
  18. console.log(res);
  19. </script>

5.4 filter:

从数组中找出所有符合指定条件的元素
filter() 检测数值元素,并返回符合条件所有元素的数组。 filter() 不会改变原始数组。

5.5 find()

find:返回通过测试(函数内判断)的数组的第一个元素的值
它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。

5.6 every&some

every:数组中是否每个元素都满足指定的条件
some:数组中是否有元素满足指定的条件
一言以蔽之:Some: 一真即真;Every: 一假即假

5.7 reduce:将数组合成一个值

reduce() 方法接收一个方法作为累加器,数组中的每个值(从左至右) 开始合并,最终为一个值。