8_数组扩展.html 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. // es5常用循环
  11. // for循环
  12. let arr = [1,2,3,4,5,6,7,8,9];
  13. // for(var i=0;i<arr.length;i++){
  14. // console.log(arr[i]);
  15. // }
  16. // forEach 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  17. // arr.forEach(function(item,index,arr){
  18. // console.log(item,index,arr);
  19. // })
  20. // map 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  21. // map 方法返回一个新数组 数组内的每一个元素都是函数内的返回值
  22. // 使用场景:对数组内每一个值进行相应的处理 并返回一个新数组
  23. // let resArr = arr.map(function(item,index,arr){
  24. // // console.log(item,index,arr);
  25. // return item * 10;
  26. // })
  27. // console.log(resArr);
  28. // filter 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  29. // filter 方法返回一个新数组 数组内的每一个元素都是函数内返回值为true的元素
  30. // 使用场景:对数组内每一个值进行相应的判断 并返回一个新数组
  31. // let resArr = arr.filter(function(item,index,arr){
  32. // // 筛选出数组内的偶数
  33. // return item % 2 == 0;
  34. // })
  35. // console.log(resArr);
  36. // some 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  37. // some 方法返回一个布尔值 只要有一个元素符合条件 就返回true 否则返回false
  38. // 使用场景:对数组内每一个值进行相应的判断 只要有一个符合条件 就返回true 否则返回false
  39. // let res = arr.some(function(item,index,arr){
  40. // // 判断数组内是否含有5
  41. // return item == 5;
  42. // })
  43. // console.log(res);
  44. // every 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  45. // every 方法返回一个布尔值 只要有一个元素不符合条件 就返回false 否则返回true
  46. // 使用场景:对数组内每一个值进行相应的判断 只要有一个不符合条件 就返回false 否则返回true
  47. // let res = arr.every(function(item,index,arr){
  48. // // 判断数组内是否所有元素都大于5
  49. // return item > 5;
  50. // })
  51. // console.log(res);
  52. // reduce 函数内接收四个参数 分别是 上一次的返回值 当前元素 当前元素的索引 数组本身
  53. // reduce 方法返回一个值 数组内的每一个元素都进行函数内的操作 并将结果返回
  54. // 使用场景:对数组内每一个值进行累加操作 并将结果返回
  55. // let res = arr.reduce(function(pre,cur,index,arr){
  56. // console.log(pre,cur,index,arr);
  57. // return pre + cur;
  58. // })
  59. // console.log(res);
  60. // es6 新增遍历方法
  61. // find
  62. // find 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  63. // find 方法返回一个值 数组内的每一个元素都进行函数内的操作 并将第一个符合条件的元素返回
  64. // 使用场景:对数组内每一个值进行相应的判断 并返回第一个符合条件的元素
  65. // let res = arr.find(function(item,index,arr){
  66. // return item == 5;
  67. // })
  68. // console.log(res);
  69. // findIndex
  70. // findIndex 函数内接收三个参数 分别是 数组内的每一个元素 元素的索引 数组本身
  71. // findIndex 方法返回一个值 数组内的每一个元素都进行函数内的操作 并将第一个符合条件的元素的索引返回
  72. // 使用场景:对数组内每一个值进行相应的判断 并返回第一个符合条件的元素的索引
  73. // let res = arr.findIndex(function(item,index,arr){
  74. // return item == 5;
  75. // })
  76. // console.log(res);
  77. // for ... of循环
  78. // of 循环 可以遍历数组内的每一个元素 默认左侧定一个变量接收每一次循环的值 右侧 需要循环的数组
  79. // for(let item of arr){
  80. // console.log(item);
  81. // }
  82. // keys() 返回数组中每一个值的索引
  83. // for(let index of arr.keys()){
  84. // console.log(index);
  85. // }
  86. // values() 返回数组中每一个值 什么也不写默认就是返回数组内的每一个值
  87. // for(let value of arr.values()){
  88. // console.log(value);
  89. // }
  90. // entries() 返回数组中每一个值的索引和值 会将索引和值封装成一个数组返回 第一个元素是索引 第二个元素是值
  91. // for(let item of arr.entries()){
  92. // console.log(item);
  93. // }
  94. </script>
  95. </body>
  96. </html>