ES6中的Array.from()

发布时间:2019-08-09 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了ES6中的Array.from()脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

ES6中的Array.From()

最近在看ES6,看到Array.from()还挺有意思的,在网上查了很多资料,做一下总结。它的作用就是把一个类数组转化成一个真正的数组,输入一个类数组的对象,返回一个真正的数组,挺符合函数式的思想,但是遗憾的是它可以接受第二个可选参数,没有curry化,不过可以只传一个参数。

平时我们见的比较多的类数组就是函数的arguments,通过JS选择DOM选择出来的DOM nodelist,字符串也可以算为类数组。

arguments举例,以前我们想要把它转化成真正的数组,一般这样转化

let arr = Array.PRototyPE.slice.call(arguments)

或者这样

let arr = [].slice.call(arguments)

现在有了Array.from(),变得很方便

let arr = Array.from(arguments)

还有一个用法,就是生成一个特定数目的数组,类数组最重要的特性是length这个属性,所以可以这样生成一个特定数目的数组

//生成一个五个元素的数组

const arrLike = {length: 5}
const arr = Array.from(arrLike)
console.LOG(arr)

// [ undefined, undefined, undefined, undefined, undefined ]

这样有什么用呢,如果有一个需求是要生成一个这样顺序排列的数组[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ],我们会用for循环

let arr = []
for (let i = 0; i < 10; i++) {
  arr.push(i + 1)
}
console.log(arr)

我们还可以用函数式编程的思路实现它

const R = require("ramda")

const f = (item, index) => index + 1
const arr = R.addIndex(R.map)(f, Array.from({length: 10}))
console.log(arr)

脚本宝典总结

以上是脚本宝典为你收集整理的ES6中的Array.from()全部内容,希望文章能够帮你解决ES6中的Array.from()所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。