ES6中array.from和array.of的區(qū)別是什么

es6
小億
107
2023-12-25 16:47:52
欄目: 編程語言

ES6中的array.from方法是將一個(gè)類數(shù)組對(duì)象或可迭代對(duì)象轉(zhuǎn)換為一個(gè)新的數(shù)組。它可以將字符串、Set、Map等轉(zhuǎn)換為數(shù)組。

array.of方法是創(chuàng)建一個(gè)包含傳入?yún)?shù)的新數(shù)組。它與Array構(gòu)造函數(shù)的行為不同之處在于,當(dāng)傳入?yún)?shù)只有一個(gè)時(shí),Array構(gòu)造函數(shù)會(huì)根據(jù)參數(shù)的類型來決定創(chuàng)建數(shù)組的方式,而array.of會(huì)將傳入的參數(shù)作為數(shù)組的一個(gè)元素。

下面是兩個(gè)方法的示例:

使用array.from方法:

const arr1 = Array.from('hello');
console.log(arr1); // ["h", "e", "l", "l", "o"]

const arr2 = Array.from([1, 2, 3], x => x * 2);
console.log(arr2); // [2, 4, 6]

使用array.of方法:

const arr3 = Array.of(1, 2, 3);
console.log(arr3); // [1, 2, 3]

const arr4 = Array.of(7);
console.log(arr4); // [7]

可以看出,array.from方法將字符串和可迭代對(duì)象轉(zhuǎn)換為數(shù)組,而array.of方法是創(chuàng)建一個(gè)包含傳入?yún)?shù)的新數(shù)組。

0