类数组和数组

类数组的组成

类数组有几个必要组成部分:

  1. 属性要为索引值;
  2. 必须有length属性

类数组并不陌生,函数中的arguments就是属于类数组

不能用数组的push方法

arguments.push("push");

答案跟你想的一样,是不可以的!

它会一个错误:Uncaught TypeError: arguments.push is not a function

可迭代对象

  • 1、对数组的泛化,几乎所有对象可以作为在for…of 循环中的对象【简单来说,数组就是特殊的对象,只不过key默认为index,不长显罢了】
  • 2、Map and Set等

Array.from()方法

将类数组转换成数组

将可迭代对象转数组

字符串转数组
Array.from('foo');
  // [ "f", "o", "o" ]


set对象转数组。map也可
  const set = new Set(['foo', 'bar', 'baz', 'foo']);
  Array.from(set);
  // [ "foo", "bar", "baz" ]

  <!-- 当然你也可以用ES6的简单写法 -->
  [ ... new Set(['foo', 'bar', 'baz', 'foo'])]



类数组转成真数组的几种方法

Array.from()方法

用ES6的扩展运算符 ...

var arr= [...obj];
阅读剩余
THE END