转换ArrayLike对象

时间:2013-06-21 16:41:21

标签: javascript

是否有任何方法可以将类似数组的对象转换为数组,以便所有数组方法都能与它一起使用?请参阅:

[].prototype.forEach.call("maizere",fn)

同样适用于每个类似数组的对象,

我想要的是,直接在这个“maizere”字符串上使用forEach循环。但在此之前我需要将其转换为数组。是否有任何可能或任何技巧适用于所有类似数组的对象。谢谢你

1 个答案:

答案 0 :(得分:2)

将其传递到slice而不是forEachslice只会从中制作一个数组):

Array.prototype.slice.call("maizere").map(function(l) {
    return l + 'foo';
}).forEach(function(l) {
    console.log(l);
});

它适用于类似数组的对象,例如NodeList s,arguments和字符串。