Skip to content

数组

数组的原生方法

  • 数组和字符串的转换方法:toString() 、 toLocalString() 、 join() 。
  • 数组尾部操作的方法 pop() 和 push() , push 方法可以传入多个参数。
  • 数组首部操作的方法 shift() 和 unshift() ,影响原数组
  • 重排序的方法 reverse() 和 sort() ,影响原数组
  • 数组插入方法 splice() ,影响原数组
  • 数组连接的方法 concat() ,返回的是拼接好的数组,不影响原数组。
  • 数组截取办法 slice() ,用于截取数组中的一部分返回,不影响原数组。
  • 查找特定项的索引的方法, indexOf() 和 lastIndexOf() 。
  • 迭代方法 every()、some()、filter()、map() 和 forEach() 方法 。
  • 数组归并方法 reduce() 和 reduceRight() 方法 。

类数组

类数组不能直接调用数组的方法,但是又和数组比较类似,拥有 length 属性。

常见的类数组有:

  • arguments
  • getElementsByTagName/ClassName/Name 返回的 HTMLCollection
  • querySelector 返回的 NodeList

常见的类数组转换为数组的方法:

  • Array.prototype.slice.call(arrayLike);
  • Array.prototype.splice.call(arrayLike, 0);
  • Array.prototype.concat.apply([], arrayLike);
  • Array.from(arrayLike);
js
(function () {
  return Array.prototype.slice.call(arguments);
})(1, 2); // [1, 2]