【前端-Js基础方法】数组常用方法汇总
在Js数组处理的方法中按照对原数组的处理,大题可以分为两种情况,即:改变原数组的方法和不改变原数组的方法,具体方法及说明如下:
const { addAbortSignal } = require("stream") let arr = [ { name: zs, age: 19 }, { name: ls, age: 9 }, { name: ww, age: 29 }, ] // ========== 不影响原数组的方法 ========== // 数组简单遍历,item为数组的每一项,即arr[0],arr[1]...,index为对应序号 arr.forEach((item, index) => { console.log(item, index) }) // 过滤筛选出符合条件的项,组成新数组 arr.filter((item) => item.age > 10) // 遍历数组每一项进行操作后存储为一个新的数组,常用来提取数组对象键或值 arr.map((item) => item.name) // 返回满足条件的第一个项,没有则返回undefined arr.find((item) => item.name === zs) // 返回满足条件的第一个项,没有则返回-1 arr.findIndex((item) => item.name === ls) // 包含满足条件的项返回true,否则返回false arr.some((item) => { // console.log(item) return item.age > 10 }) // 遍历到第一个不满足条件的项则返回false; 都满足则返回true arr.every((item) => { // console.log(item) return item.age > 10 }) // sum为上次回调函数的返回值,item为遍历的每一项,0为sum初始值,常用于累加 arr.reduce((sum, item) => { return sum + item.age }, 0) // 从右到左的遍历reduce arr.reduceRight((sum, item) => { return sum + item.age }, 0) let arr2 = [1, 2, 3] let arr3 = [4, 5, 6] // 截取数组,参数分别为起始位序号(包含)和终止序号(不包含) console.log(arr2.slice(0, 1)) // 拼接数组 console.log(arr2.concat(arr3)) let arr4 = [1, [2, 3, [4, 5, 6]]] // 扁平化数组 console.log(arr4.flat(Infinity)) // 是否包含某项 let arr5 = [1, 2, 3, 2, 3] console.log(arr5.includes(4)) // false console.log(arr5.indexOf(3)) // 2 console.log(arr5.lastIndexOf(3)) // 4,从最后一项检索 // 将数组每一项用分隔符拼接成字符串 然后返回 console.log(arr5.join(-)) // -------------------------------------------------------------- // ========== 影响原数组的方法 ========== // 直接将原数组翻转 arr2.reverse() // 在原数组最后追加内容,返回得到数组的长度 arr2.push(3, 12) // 删除原数组最后一项, 返回被删除的项 arr2.pop() // 在原数组最前添加项, 返回数组的长度 arr2.unshift(3, 7) // 删除原数组第0项, 返回被删除的项 arr2.shift() // 对原数组进行排序,内容为字符串形式,注意是按照首字符的顺序,所以11、123、13会排在在2,3,4 arr2.sort() //-如果需要反向排序只需 arr2.sort().reverse() // 对原数组进行排序,内容为数字格式,会按照数字大小排序,其中a-b是正序,b-a为逆序 arr2.sort((a,b)=>b-a) // 删除数组中指定位置的项(也可以新增,第三个及之后的参数为新增的项), 返回被删除项组成的数组 //-arr.splice(删除的序号, 删除几个, 新增1, 新增2 ,...),注意新增项的位置对应的是第一个参数 arr2.splice(1, 1)