水牛的es6日記第四天【展開運算符】

ES6引入了spread運算符,它使我們可以在需要多個參數或元素的地方擴展數組和其他表達式。 下面的ES5代碼使用apply()來計算數組中的最大值:

var arr = [6, 89, 3, 45];
var maximus = Math.max.apply(null, arr); // returns 89

我們必須使用Math.max.apply(null,arr),因爲Math.max(arr)返回NaN。 Math.max()需要使用逗號分隔的參數,但不能使用數組。spread運算符使該語法更易於閱讀和維護。

const arr = [6, 89, 3, 45];
const maximus = Math.max(...arr); // returns 89

… arr返回解壓縮的數組。換句話說,它擴展了數組。但是,spread運算符只能在原位工作,就像在函數的自變量或數組文字中一樣。以下代碼不起作用:

const spreaded = ...arr; // will throw a syntax error

小測

使用傳播運算符將arr1的所有內容複製到另一個數組arr2中。

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2;

arr2 = [];  // Change this line

console.log(arr2);

答案

const arr1 = ['JAN', 'FEB', 'MAR', 'APR', 'MAY'];
let arr2;

arr2 = [...arr1];  // Change this line

console.log(arr2);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章