javascript中有一些对象看起来用起来像是数组,但是他们并不是数组。比如arguments和NodeList对象。为了方便操作,需要将这类数据类型转换为数组类型。下面以NodeList为例,介绍几种数组转换方法:
slice.call
var div_list = document.querySelectorAll('div'); // returns NodeList
var div_array = Array.prototype.slice.call(div_list); // converts NodeList to Array
spraead operator
var div_list = document.querySelectorAll('div'); // returns NodeList
var div_array = [...div_list]; // converts NodeList to Array
Array.from
var div_list = document.querySelectorAll('div'); // returns NodeList
var div_array = Array.from(div_list); // converts NodeList to Array
遍历
var div_list = document.querySelectorAll('div'); // returns NodeList
Object.keys(div_list).forEach(function(key) {
console.log(div_list[key]);
})
本文介绍了在JavaScript中如何将类似数组的对象(如NodeList)转换为真正的数组。提供了四种转换方法:使用`slice.call`、扩展运算符`[...arg]`、`Array.from`以及通过遍历的方式。
&spm=1001.2101.3001.5002&articleId=51446579&d=1&t=3&u=560bea13467447d4adff7f94ae1753ef)
3109

被折叠的 条评论
为什么被折叠?



