数组增删改
- Array.of(...items)返回新数组 将参数中所有值作为元素形成数组
- arr.push() 数组尾部添加,arr.pop() 尾部取出,arr.shift() 首端取出,arr.unshift() 首端插入
- arr.splice(pos,deleteCount,...item)返回被修改的元素,会改变原数组从pos开始删除deleteCount个元素,并在当前位置插入items
- arr.slice(start,end)返回新数组,浅拷贝,将start到end(不包括end)的元素复制进去,并返回
- arr.concat(...items)返回新数组,复制当前数组的所有元素,并添加items的元素
- arr.copyWithin(pos[, start[, end]])浅拷贝,返回改变后的数组,复制从start到end(不包括end)的元素,到pos开始的索引
- arr.fill(value[, start[, end]])返回修改后的值,从start到end默认length,填充val
搜索元素
- arr.indexOf(item[,pos]) 从pos开始搜索item,搜索到返回索引,没找到返回-1,默认全部查找。arr.lastIndexOf(item[,pos]),位置从后面开始计算
- arr.includes(val) 如果数组有val,返回true,否则false
- arr.find(callback(element[, index[, array]])[, thisArg]) 通过func过滤元素,返回使func为true的第一个值。
- arr.findIndex(callback(element[, index[, array]])[, thisArg]) 类似find,返回索引,不是值,没找到返回-1
遍历元素
-
arr.forEach(callback(currentValue [, index [, array]])[, thisArg]) 对每个元素调用func,不返回任何值
-
arr.entries/keys/values()返回新的数组迭代器对象,该对象包含数组中每个索引的键/值对[key,val]/[key]/[values],可用next()遍历,value()查看值
-
arr.every(callback(element[,index[,array]])[, thisArg]))返回boolean,callback(element[,index[,array]])为测试数组元素的函数,el为测试当前值,index为当前索引,array为调用的数组本身。如果每次回调函数都返回true则函数返回true,否则false
-
arr.some(callback(element[, index[, array]])[, thisArg])返回boolean,类every,只要一个通过测试则返回true
转换数组
-
arr.map(callback(currentValue[, index[, array]])[, thisArg]) 根据调用func的返回结果创建新数组
-
arr.filter(callback(element[, index[, array]])[, thisArg]) 返回使func为true的全部值
-
arr.sort([compareFunction]) 对数组进行原位(in-place)排序,然后返回,func参数arg1:第一个比较的元素,arg2:第二个比较的元素
-
arr.reverse() 原位反转数组,然后返回
-
arr.join([separator]) 将数组转换为指定分隔符连成的字符串并返回,默认用','
-
arr.reduce/reducnRight(callback(accumulator, currentValue[, index[, array]])[, initialValue])返回函数累计处理的结果 通过对每个元素调用func,计算数组是的单个值,并在调用之间传递中间结果。accum累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue(初始accum的值,如果没有则用数组第一个元素)。
-
Array.isArray(arr) 检查arr是否为数组
-
Array.from(arrayLike[,mapFn[,this.Arg]]) 返回新数组,浅拷贝,将类数组对象或可迭代对象转化为数组,第二参数:用于对每个元素进行处理,放入数组的是处理后的元素。第三参数:用于指定第二参数执行时的this对象
-
arr.flat([depth])返回新数组,depth维数组转一维
-
arr.flatMap(callback(currentValue[, index[, array]])[, thisArg])) 对flat的转换有回调函数的处理
-
arr.toString(callback(currentValue[, index[, array]])[, thisArg])返回字符串,数组转字符串
-
arr.toLocaleString([locales[,options]])返回数组元素的字符串,locales为带有BCp 47语言标记的字符串或者字符串数组,options为可配置对象,对于数字 Number.prototype.toLocaleString(),对于日期Date.prototype.toLocaleString()
属性方法
- arr[Symbol.iterator]()默认与values()的返回值相同
- Array[Symbol.species]返回数组的构造函数
Array构造函数的方法
- Array.of(...items)
- Array.isArray(arr)
- Array.from(arrayLike[,mapFn[,this.Arg]])
- Array[Symbol.species]
会影响原数组本身的方法
- pop()
- push()
- shift()
- unshift()
- sort()
- reverse()
- splice()
- copyWithin()
- arr.fill()