转 JavaScript里的数组转化新方法Array.From

过去,我们使用各种各样的方法来将类似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

时间: 2024-12-09 17:02:22

转 JavaScript里的数组转化新方法Array.From的相关文章

用javascript得到客户端IP的新方法

javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: <script type="text/javascript" src="http://fw.qq.com/ipaddress"></script> 它可以返回用户IP和地点,比喻: var IPData = new Array("220.181

vue学习(十四) 条件搜索框动态查询表中数据 数组的新方法

//html <div id="app"> <label> 名称搜索关键字: <input type="text" clasa="form-control" v-model="keywords"> </label> <table class="table table-bordeered table-hover table-striped"> <

数组一些新方法

1.Array.prototype.forEach() forEach() 方法让数组的每一项都执行一次给定的函数. 语法: array.forEach(callback[, thisArg]) 参数 callback 在数组每一项上执行的函数,接收三个参数:  currentValue 当前项(指遍历时正在被处理那个数组项)的值. index 当前项的索引(或下标). array 数组本身. thisArg 可选参数.用来当作callback 函数内this的值的对象. 示例 var arr

ES6中数组的新方法

数组的扩展 1.1扩展运算符 1.1.1:... 扩展运算符(spread)是三个点(...).它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列. <body> <div></div> <div></div> <div></div> <div></div> </body> <script type="text/javascript"> c

数组对象新增方法Array.from()、Array.of()

1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的数据结构 Set 和Map ). let arrayLike = { '0': 'a', '1': 'b', '2': 'c', length: 3 }; // ES5 的写法 var arr1 = [].slice.call(arrayLike); // ['a', 'b', 'c'] // ES

javaScript中 数组的新方法(reduce)

定义和用法 reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值. reduce() 可以作为一个高阶函数,用于函数的 compose. 注意: reduce() 对于空数组是不会执行回调函数的. 浏览器支持 表格中的数字表示支持该方法的第一个浏览器版本号. 语法 :array.reduce(function(total, currentValue, currentIndex, arr), initialValue) 参数 栗子1: var arr

重学ES6(一):数组及其新方法

数组的遍历 1.传统for循环 2.forEach方法,不支持break和continue const arr = [1, 2, 3, 4, 5] arr.forEach(function (item) { console.log(item) }) 3.every方法,可以做到 break 那样的效果,return false 等同于 break,return true 等同于 continue const arr = [1, 2, 3, 4, 5] // every 默认return fals

Javascript中的数组去重-indexof方法

在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. 1 var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1]; 2 var arr2 = []; 3 for(var i = 0;i < arr.length;i++){ 4 if(arr2.indexOf(arr[i]) == -1){ 5 arr2.push(arr[i]) 6 } 7 } 8 console.log(arr2) //[1,2,3,

javascript 中遍历数组的简单方法

在Javascript中有自带方便遍历数组的方法(此方法非彼方法不要误会哦): 1 .利用for( index in array ){}; 2.利用 array.forEach( function(element, index) {}: 但是它们两个是怎么遍历数组的呢,是正序还是倒序呢? <script> var arr = ["a","b","c","d","e"]; for (key in