10.数组方法扩展.html 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  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. <ul>
  10. <li>内容一</li>
  11. <li>内容二</li>
  12. <li>内容三</li>
  13. <li>内容四</li>
  14. </ul>
  15. <script>
  16. var arr = ["小明", "小红", "Lucy"];
  17. let obj = {
  18. name: "赵家锐",
  19. age: 22,
  20. sex: "男",
  21. };
  22. // for(var i=0;i<arr.length;i++) {
  23. // console.log(arr[i]);
  24. // }
  25. // 1.forEach
  26. arr.forEach((ele, index) => {
  27. console.log(ele, "ele"); // 每一项
  28. console.log(index, "index"); // 下标
  29. });
  30. // 2.for of:遍历数组时 key代表数组中的每一项;不可以遍历对象;所以这个一般用于遍历数组
  31. for (var key of arr) {
  32. console.log(key, "key");
  33. }
  34. // for(var key of obj) {
  35. // console.log(key,'key1')
  36. // }
  37. // 3.for in:遍历数组时,key代表数组中的索引(下标);遍历对象时 key代表对象中的属性
  38. for (var key in arr) {
  39. console.log(key, "in");
  40. }
  41. for (var key in obj) {
  42. console.log(key, "in1");
  43. }
  44. let arr1 = [1, 2, 3, 4, 5, 6];
  45. // 4.filter 过滤 将符合过滤条件的元素返回到新数组中 原数组不发生更改
  46. let arr2 = arr1.filter((ele) => {
  47. return ele >= 4;
  48. });
  49. console.log(arr2, "arr2");
  50. console.log(arr1, "arr1");
  51. let arr3 = [
  52. {
  53. age: 12,
  54. name: "LiLi",
  55. content: "好好学习",
  56. },
  57. {
  58. age: 22,
  59. name: "赵某人",
  60. content: "上课睡觉",
  61. },
  62. {
  63. age: 32,
  64. name: "Lucy",
  65. content: "过年",
  66. },
  67. ];
  68. // ele => Element
  69. let arr4 = arr3.filter((ele) => {
  70. return ele.age > 20;
  71. });
  72. console.log(arr4, "arr4");
  73. // 5.map 主要是为了映射出一个新数组 将特定的函数条件返给新数组 不会改变原数组
  74. let arr5 = arr1.map((ele) => {
  75. return ele * 2;
  76. });
  77. console.log(arr5, "arr5");
  78. console.log(arr1, "arr1");
  79. // 6.some 判断数组是否符合当前条件 有一个符合 则为true;都不符合 才为false
  80. var newArr = [34, 23, 56, 76, 54, 18];
  81. let arr6 = newArr.some((ele) => {
  82. return ele > 70;
  83. });
  84. console.log(arr6, "arr6");
  85. //7.every 判断数组是否符合当前条件 有一个不符合 则为false;都符合 才为true
  86. let arr7 = newArr.every((ele) => {
  87. return ele > 10;
  88. });
  89. console.log(arr7, "arr7");
  90. // 8.reduce 从左到右 累增累减
  91. let arr8 = newArr.reduce((total, num) => {
  92. return total + num;
  93. });
  94. console.log(arr8, "arr8");
  95. // 9.find 查找符合当前条件的第一个值并返回
  96. let arr9 = newArr.find((ele) => {
  97. return ele > 10;
  98. });
  99. console.log(arr9, "arr9");
  100. // 10.类数组 转为 正常数组 Array.from()
  101. var list = document.querySelectorAll("ul li");
  102. console.log(list,'list');
  103. console.log([...list],'list');
  104. console.log(Array.from(list));
  105. </script>
  106. </body>
  107. </html>