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ù)組。