ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
目录 (づ ̄ 3 ̄)づ=> [TOC] - ### Array.from 将一个数组或则类数组变成数组,且会复制一份 - ### Array.of ``` let arr1 = Array(3); //申请的是数组长度 console.log(arr1); //[<3 empty items>] let arr2 = Array.of(3); console.log(arr2); // [3] ``` - ### [].copyWithin >[danger] 会改变原数组 copyWithin() 方法用于从数组的指定位置拷贝元素到数组的另一个指定位置中。 ``` 参数1:赋值到指定目标位置的索引target 参数2:源数据起始索引 参数3:源数据结束索引 console.log([1, 2, 3, 4, 5].copyWithin(0, 1, 2)); >>>[2,2,3,4,5] ``` - ### [].find/findeIndex 查找到对应的元素和索引 ``` let arr = [1, 2 ,3, 3, 4, 5]; let find = arr.find((item, index, arr) => { return item === 3; }); let findIndex = arr.findIndex((item, index, arr) => { return item === 3; }); console.log(find, findIndex); ``` - ### [].map ``` //map 映射 将原有的数组映射成一个新数组 【更新】 //[1,2,3]=><li>1</li><li>2</li><li>3</li> //不操作原数组 返回新数组 回调函数中返回什么这一项就是什么 let arr1 = [1,2,3].map((item)=>{ return `<li>${item}</li>`; }) // console.log(arr1); console.log(arr1.join('')); ``` - ### [].reduce ``` //1)用reduce实现数组扁平化 //[[1,2,3],[4,5,6],[7,8,9]].join(',').split(',') let flat = [[1,2,3],[4,5,6],[7,8,9]].reduce(function(prev,next){ return prev.concat(next); }) //2)初始值的使用场景 let sum2 = [{price:30,count:2},{price:30,count:3},{price:30,count:4}].reduce((prev,next)=>{ return prev+next.price*next.count; },0) console.log(sum2); ``` - ### [].filter ``` 是否操作原数组:不 返回结果:过滤后的新数组 回调函数的返回结果:如果返回true 表示这一项放到新数组中 【删除】 let newArr = [1,2,3,4,5].filter((item,index,arr)=>{ return item>2&&item<5; //2<item<5 永远为true 因为2<item为true/false 转换为数字不超过1 }) ``` - ### [].foreach --- - ### [].slice >[success] 不改变原始数组 ``` let arr2 = arr1.slice(0,3); console.log(arr2); ``` - ### some,every ``` //some 找true 找到true后停止 返回tue 找不到返回false //every 找false 找到false后停止 返回false let result = arr3.every((item,index,arr)=>{ return item.toString().indexOf(5)>-1; //>-1是indexOf需要,indexOf>-1表示找到了 因为indexOf返回的是匹配的字符串的起始索引 }); console.log(result); //true ```