二維陣列扁平化
三種不同的解決方法 將二維陣列合併為單一的陣列
給定一個陣列:
var myArray = [[1, 2],[3, 4, 5], [6, 7, 8, 9]];
我們想得到這個結果:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
方法一:
var myNewArray = [];
for (var i = 0; i
方法二:
var myNewArray = myArray.reduce(function(prev, curr) {
return prev.concat(curr);
});
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
方法三:
var myNewArray = [].concat.apply([], myArray);
// [1, 2, 3, 4, 5, 6, 7, 8, 9]
過濾陣列中重複的元素
利用這個函式,我們可以使用在過濾陣列中重複的元素
var originArr = [1, 'a', 1, 'a'];
var deduped = originArr.filter(function(el, i, arr){
return arr.indexOf(el) === i;
});
console.log(deduped); // [1, 'a']
用 ES6 的語法可以寫得更簡潔
var originArr = [1, 'a', 1, 'a'];
var deduped = originArr.filter((el, i, arr) => arr.indexOf(el) === i);
console.log(deduped); // [1, 'a']
分享來源:幾個實用的 JS 小技巧