在 ECMAScript 2017 中,新加入了一个方法:Array.from()。这个方法可以将类似数组或迭代器对象转换成真正的数组,这个方法的使用非常简单,但是却非常实用。
什么是 Array.from()?
Array.from() 是一个静态方法,它接受两个参数:第一个参数是一个类数组对象或可迭代对象,第二个参数是一个可选的函数,用于对数组中的每个元素进行处理。
Array.from() 的语法
---------------------- ------- ----------
- arrayLike:要转换成数组的类数组对象或可迭代对象。
- mapFn:可选参数,用于对数组中的每个元素进行处理。
- thisArg:可选参数,mapFn 中的 this 值。
Array.from() 的用法
将类数组对象转换成数组
我们经常会遇到一些类数组对象,比如函数中的 arguments 对象,它看起来像一个数组,但是却没有数组的方法。使用 Array.from() 就可以将它转换成真正的数组。
-------- ----- - --- ---- - ---------------------- ------ --------------- -- -- - - --- - ------------------ -- ---- -- -
将可迭代对象转换成数组
除了类数组对象,Array.from() 还可以将可迭代对象转换成数组。比如,我们可以将一个 Set 对象转换成数组。
--- --- - --- --------- ---- ------ --- --- - ---------------- ----------------- -- ----- ---- ----
对数组中的每个元素进行处理
Array.from() 的第二个参数是一个函数,它可以对数组中的每个元素进行处理。比如,我们可以将一个字符串转换成数组,并将每个元素都转换成大写字母。
--- --- - -------- --- --- - --------------- ------ -- ---------------------- ----------------- -- ----- ---- ---- ---- ----
Array.from() 的指导意义
Array.from() 的出现,让我们可以更方便地将类数组对象和可迭代对象转换成数组。这样,我们就可以使用数组的各种方法,比如 map()、reduce()、filter() 等,来处理这些对象。同时,Array.from() 的第二个参数也让我们可以对数组中的每个元素进行处理,这在某些场景下非常有用。
结论
Array.from() 是 ECMAScript 2017 中新增的一个方法,它可以将类数组对象和可迭代对象转换成真正的数组。同时,它还可以对数组中的每个元素进行处理。Array.from() 的出现,让我们可以更方便地处理这些对象,同时也让我们的代码更加简洁和易于理解。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6724a1062e7021665e147dd4