所以我這里有兩個不同的陣列。
const test = [
{ firstName: "John", lastName: "Doe" },
{ firstName: "Michael", lastName: "Sins" },
{ firstName: "Alex", lastName: "Brown" }
];
const test2 = [
{ firstName: "Lisa", lastName: "Shore" },
{ firstName: "John", lastName: "Doe" },
{ firstName: "Justin", lastName: "Park" }。
];
我想要的是使用ES6(如果可能的話,過濾)或以任何適合的方式從兩個陣列中獲得相同的值來實作輸出。我想得到的結果是:
[{ firstName: "John", lastName: "Doe" }] 。
uj5u.com熱心網友回復:
你可以嘗試使用Array.prototype.filter()和Array.prototype.some()
const test = [
{ firstName: "John", lastName: "Doe" },
{ firstName: "Michael", lastName: "Sins" },
{ firstName: "Alex", lastName: "Brown" }
];
const test2 = [
{ firstName: "Lisa", lastName: "Shore" },
{ firstName: "John", lastName: "Doe" },
{ firstName: "Justin", lastName: "Park" }。
];
const res = test.filter(t1 =>/span> test2. some(t2 =>)
t1.firstName ==t2.firstName
&& t1.lastName == t2.lastName
));
console.log(res);
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
如果你的物件有firstName和lastName以外的屬性,這個方法仍然有效
const test = [
{ firstName: "John", lastName: "Doe" },
{ firstName: "Michael", lastName: "Sins" },
{ firstName: "Alex", lastName: "Brown" }
];
const test2 = [
{ firstName: "Lisa", lastName: "Shore" },
{ firstName: "John", lastName: "Doe" },
{ firstName: "Justin", lastName: "Park" }。
];
const tempTest2 = test2.map(span class="hljs-params">item => JSON. stringify(item))。
const result = test.filter(item => tempTest2. includes(JSON.stringify(item));
console.log(result);
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你可以做到:
const test = [{ firstName: 'John', lastName: 'Doe' },{ firstName: 'Michael', lastName: 'Sins' },{ firstName: 'Alex',lastName: 'Brown' }]
const test2 = [{ firstName: 'Lisa', lastName: 'Shore' },{ firstName: 'John', lastName: 'Doe' },{ firstName: 'Justin',lastName: 'Park' }]
const getFullName = ({ firstName, lastName }) => firstName lastName
const test2Names = test2.map(getFullName)
const result = test.filter((o) => test2Names。 includes(getFullName(o))
console.log(result)
<iframe name="sif3" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/312759.html
標籤:
