萬(wàn)千封印
2023-08-24 15:57:46
useEffect我的reactJS中有以下代碼const A1 = [{id: 1, nome: "Ruan"}, {id: 2, nome: "Gleison"}]const A2 = [{id: 2, nome: "Gleison"}, {id: 3, nome: "Geraldo"}]const results = _.xor(A1, A2);console.log(results)lodashis的邏輯_.xor是返回兩個(gè)數(shù)組之間的差異,但是,事實(shí)并非如此我得到的回報(bào)如下0: Object {id: 1, nome: "Ruan"}1: Object {id: 2, nome: "Gleison"}2: Object {id: 2, nome: "Gleison"}3: Object {id: 3, nome: "Geraldo"}我感謝所有提供幫助的努力
2 回答

素胚勾勒不出你
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
您可以使用xorBy來(lái)指示用于比較的屬性:
const A1 = [{id: 1, nome: "Ruan"}, {id: 2, nome: "Gleison"}]
const A2 = [{id: 2, nome: "Gleison"}, {id: 3, nome: "Geraldo"}]
const results = _.xorBy(A1, A2, 'id'); // or 'nome'
console.log(results)
<script src="https://cdn.jsdelivr.net/npm/lodash@4.17.20/lodash.min.js"></script>

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
這是因?yàn)榧词顾鼈兊膬?nèi)容相同,對(duì)象也不相等,因?yàn)樗鼈冊(cè)趦?nèi)存中的地址不同。
你可以嘗試這樣的事情:
const results = _.xor(A1.map(object=> JSON.stringify(object)), A2.map(object=> JSON.stringify(object))).map(item => JSON.parse(item));
添加回答
舉報(bào)
0/150
提交
取消