痞子泰

导航

 

过去,我们使用各种各样的方法来将类似Array对象的东西(比如 arguments 和 NodeList) 转换成真的数值。比如下面这个:

基本上,这些东西我们都可以使用Array.prototype.slice.call()这样的方法将argumentsNodeList等转行成想要的形式。

如今,我们有了更直接的方法,直接将这些类数组的对象转化成真正的对象。

NodeList 转化成 Array

var divs = Array.from(document.querySelectorAll('div'));

// Array[232] (every DIV on the page)

 

将 arguments 转化成 Array

function something() {
  var args = Array.from(arguments);

  // Array['yes', 1, {}]
}
something('yes', 1, {});

 

将 String 转化成 Array

Array.from('JavaScript'); // 很像'JavaScript'.split('')

// ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]

 

这些写法非常的简单清晰,不需再使用slice等间接方法!

 

原文地址:http://it.lindukj.cn/archives/1405

posted on 2017-05-09 10:00  痞子泰  阅读(251)  评论(0编辑  收藏  举报