集合引用类型Array
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 | <! DOCTYPE html> < html lang="en"> < head > < meta charset="UTF-8"> < meta http-equiv="X-UA-Compatible" content="IE=edge"> < meta name="viewport" content="width=device-width, initial-scale=1.0"> < title >Document</ title > </ head > < body > < script > /* 1.判断一个值是否是数组 if(Array.isArray(value)){ // 操作数组 } */ /* 2.迭代器方法 */ const a = ["foo", "bar", "baz", "qux"] console.log(a.keys()); // Array Iterator // 通过Array.from() 直接转换为数组实例 const aKeys = Array.from(a.keys()) console.log(aKeys); // // 还有 a.values() a.entries() /* 3.复制和填充 批量复制fill() 填充数组copyWithin() */ /* 4.转换字符串 toString() valueOf() toLocaleString() join()---替换字符串分隔符(以指定元素分割开数组) */ let colors = ["red", "blue", "green"] console.log(colors.toString()); //red,blue,green 转换字符串-- /* 5.栈方法(后进先出) ---push() 添加在数组末尾 ---pop() 删除数组的最后一项,同时减少数组length值,返回被删除的项 */ /* 6.队列方法(先进先出) ---shift() 删除数组的第一项并返回它 ---unshift() 在数组开头添加任意多个值 */ /* 7.排序方法 ---reverse() 反向排列 ---sort() 升序排列 */ // 排序案例--因为sort()先把值转换为了字符,所以10会排在5之前 function compare(value1, value2){ if(value1 < value2 ) { return -1; }else if(value1 > value2) { return 1; }else { return 0; } } let values = [2,1,6,,0,5,8,7,10,16,15] values.sort(compare); console.log(values); // [0, 1, 2, 5, 6, 7, 8, 10, 15, 16, empty] // 简洁写法(降序--把return的1和-1修改一下就可以) let values2 = [2,1,6,,0,5,8,7,10,16,15] values2.sort((a, b) => a < b ? 1 : a > b ? -1 : 0); console.log(values2); // [16, 15, 10, 8, 7, 6, 5, 2, 1, 0, empty] /* 8.操作方法 ---concat() 把参数添加在数组末尾,返回一个新数组,原数组不变 ---slice() 切割数组,原数组不变 ---splice() 在数组中间插入元素(删除,插入,替换),返回被删除的元素 */ /* 9.搜索和位置方法 严格相等---(会使用===)比较 indexOf() ---没找到返回-1,找到返回索引 lastIndexOf() ---从末尾开始向前搜索 includes() 断言函数---(3个参数 元素 索引 和数组本身)每个索引都会调用这个函数 find() findIndex() */ let numbers = [1,2,3,4,5,4] console.log(numbers.indexOf(4)); // 3 console.log(numbers.lastIndexOf(4)); // 5---找到第一个,从后往前寻找(但是返回的索引是正序) console.log(numbers.includes(4)); // true const people = [{ name: "Matt", age: 27 },{ name: "nick", age: 29 }] console.log(people.find((el, index, array) => el.age < 28 )); // {name: "Matt", age: 27} console.log(people.findIndex((el, index, array) => el.age < 28 )); // 0 /* 10.迭代方法 (三个参数 数组元素 元素索引 数组本身) every()和some() filter() forEach() map() */ // every()每一项都是true,才会返回true,否则false // some()有一项true,就是true // filter()返回true的项会组成数组之后返回 let numbers2 = [1,2,3,4,5,4] let filterResult = numbers2.filter((item, index, array) => item > 2) console.log(filterResult); // [3, 4, 5, 4] // map()--可对元素进行函数处理,并返回数组 let numbers3 = [1,2,3,4,5,4] let mapResult = numbers3.map((item, index, array) => item*3); console.log(mapResult); // [3, 6, 9, 12, 15, 12] /* 11.归并方法 reduce() reduceRight() 参数(上一个归并值, 当前项, 当前项的索引 ,数组本身)--求和 */ let numbers4 = [1,2,3,4,5,4] let sum = numbers4.reduce((pre, cur, index, array) => pre + cur); console.log(sum); // 19 </ script > </ body > </ html > |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2020-03-18 00:00时分格式转换为int分钟数值
2020-03-18 new Date时间戳格式-转换yyyy-MM-dd
2020-03-18 display:flex弹性布局--横向分配空间