1. 数组构造器

  2. 数组的方法:

不改变原数组:

  1. concat(): 拼接数组,合并数组

  2. slice():slice(开始位置索引,结束位置索引):向数组中提取指定元素,包含开始,不包含结束

  3. map():做计算

会改变原数组:

  1. pop(): 删除数组最后一个元素,返回删除的元素值

  2. push(): 向数组末尾添加多个元素,并返回一个值(数组新长度)

  3. shift():与pop相反,删除数组第一个元素,返回删除的元素值

  4. unshift():与push相反,向数组开头添加多个新元素,并返回一个值(数组新长度)

  5. splice():splice(开始位置索引,删除的数量,传递新元素) : 添加元素,删除指定元素

  6. reverse() :倒序数组,会影响原数组

  7. join():数组转为字符串,返回字符串

遍历方法:

  1. forEach():循环

  2. every(): 每个元素都满足测试函数 返回true

  3. some(): 数组中至少有一个满足测试函数,返回true

  4. indexOf():

  5. findIndex():找到第一个满足测试函数的元素,返回具体索引

  6. find():找到第一个满足测试函数的元素,返回值

  7. filter():在所有过滤函数中返回true的数组元素放进一个新数组,返回数组

  8. includes():包括,返回布尔值

  9. reduce():数组求和

  10. sort():重新排序,会影响原数组,按Unicode排序

  1. 进阶的方法:

  2. flat():多维数组转一维数组

  3. flatMap() :

  4. Array.from():将类数组转为数组,

  5. Array.of() /fill() :将一组值转为数组

  6. 数组实例的 copyWithin()

  7. 数组去重

https://juejin.im/post/6844903881500016647

ES6:

  1. new set数组去重:(array.from 或者 扩展运算符)

  2. Array.from(new Set(arr))

  3. [...new Set(arr)]

  4. map数组去重

  5. reduce去重

  6. filter + indexOf去重:filter(x,index,self)

ES5:

  1. 双重for循环+splice去重

  2. indexOf去重

  3. includes去重

  4. 数组排序

  5. Array.prototype.sort() 的排序稳定性

  6. reverse() 倒序,sort()升序

  7. 数组遍历:

  8. for循环:for、forEach 、for...in、for...of(ES6) 迭代器Iterator

  9. map、forEach、reduce求和、filter过滤、【every、some区别】

  10. ES6: entries(),keys() 和 values()

  11. 数组求和,求平均数

  1. for循环优化版,最优:

  2. reduce

  3. for...of循环

  4. 尾递归

  5. 数组求最大最小值,并集,交集,差集

  6. 数组乱序

  7. 多维数组转一维数组,手写实现flat

  8. arr.toString().split(',') :只适用于数组内全部是数字

  9. arr.join().split(',')

  10. 二维转一维: [].concat(...arr)

手写实现flat:


江文艺
1k 声望67 粉丝