很多人问如何把NodeList、HTMLColletion等伪数组变成Array。所以我需要相反的。也就是说,我需要将一个Array,例如,变成一个NodeList。
怎么做?
有两个“但是”:
- 我不知道我到底有什么:NodeList、HTMLColletion 或其他一些伪数组;但是我有一个带有该原型的伪数组来将数组转换为。
- 不要提供通过参数更改
__proto__
的选项,因为我需要一个至少可以在 IE10 中使用的选项
很多人问如何把NodeList、HTMLColletion等伪数组变成Array。所以我需要相反的。也就是说,我需要将一个Array,例如,变成一个NodeList。
怎么做?
有两个“但是”:
__proto__
的选项,因为我需要一个至少可以在 IE10 中使用的选项
不幸的是,即使使用
__proto__
.当您更改
__proto__
数组时,它只会将“父级”从更改Array
为您指定的任何内容。这会将标准属性从 更改Array.prototype
为[{Object}].prototype
。从示例中可以看出,数组并没有不再是数组,而是纯粹从视觉上看,根据对象的类型,它看起来像一个 NodeList。
从技术上讲,伪数组可以是任何内部具有长度属性的对象,该属性必须是正整数。至少,
Array.from()
主要关注这个属性。