最新通知
js 数组Establish"创建新方法"
阅读次数:798 最后编辑时间:2022年04月07日

概述

Establish “创建新方法”

1.Array.from()


该方法基于一个类数组的对象或可迭代的对象,创建一个新的数组实例。该方法接收一至三个参数,各个参数如下:

参数1是一个类数组对象或可迭代对象,方法基于该对象创建数组。函数的返回值将作为新数组中的每一项的值。必需的参数。

参数2是一个函数,数组的每一项都会调用该函数。非必需参数。

参数3指定在参数2中,this所代表的对象。非必需参数。

类数组对象是具有length属性并含有被编上索引的元素的对象,如NodeList对象。
可迭代对象是可以获得其中的元素的对象,如Map和Set

实例

var str = "hello";
Array.from(str, x => x + x);      // ["hh", "ee", "ll", "ll", "oo"]

上面的代码中接收一个字符串为第一个参数,接收箭头函数作为第二个参数。在箭头函数中,对每一项做了复制操作,然后返回得到的值,作为数组的每一项。

2.Array.of()


该方法接收一系列参数,并以这些参数为项,创建一个数组,并返回该数组。

var arra = Array.of("red", "green", "blue");
console.log(arra);         //  ["red", "green", "blue"]

该方法与构造函数Array()类似,但有一点不同。当接收到只有一个数值类型的参数时,Array()会创建一个数值参数指定的长度的数组,而Array.of()会将该数值作为数组中的项添加进数组。

var arra1 = new Array(7);
console.log(arra1);     //  [undefined × 7]
var arra2 = Array.of(7);
console.log(arra2);     //  [7]