4 回答

TA貢獻1757條經驗 獲得超7個贊
找到相似的項目,然后進行相應的過濾:
const arrayOne = ['orange', 'red', 'black', 'blue', 'yellow']
const arrayTwo = ['blue', 'purple', 'white', 'red']
// [red,blue]
const dupItems = arrayOne.filter(item => arrayTwo.includes(item));
const output = [...arrayOne.filter(item => !dupItems.includes(item)), ...arrayTwo.filter(item => !dupItems.includes(item))];
console.log(output);

TA貢獻1865條經驗 獲得超7個贊
也許這樣的事情可以工作
const diffArray = arrayOne.reduce((acc, value) => {
if ((arrayTwo.inclues(value) { return acc; }
return acc.concat([value]);
}, []);
注意:請檢查我的代碼中是否有拼寫錯誤,我是通過手機接聽的

TA貢獻1786條經驗 獲得超11個贊
嘗試這個
function diff (a1, a2) {
var a = [], diff = [];
for (var i = 0; i < a1.length; i++) {
a[a1[i]] = true;
}
for (var i = 0; i < a2.length; i++) {
if (a[a2[i]]) {
delete a[a2[i]];
} else {
a[a2[i]] = true;
}
}
for (var k in a) {
diff.push(k);
}
return diff;
}
// call here
diff( ['a', 'b'], ['a', 'b', 'c', 'd'] );

TA貢獻1906條經驗 獲得超10個贊
一種解決方案是這樣做:
let arrayOne=['orange', 'red', 'black', 'blue', 'yellow'];
let arrayTwo=['blue', 'purple', 'white', 'red'];
let common=arrayOne.filter(value => arrayTwo.includes(value))
let result=[...new Set([...arrayOne,...arrayTwo])].filter(value=>common.indexOf(value)==-1)
console.log(result)
添加回答
舉報