2
如何使用Array.filter()返回與name
?從一組對象中過濾唯一值
我的場景與我研究的解決方案稍有不同,我有一個對象數組。我找到的每個示例都包含一個單值數組。
data=[
{id: 555, name: "Sales", person: "Jordan" },
{id: 555, name: "Sales", person: "Bob" },
{id: 555, name: "Sales", person: "John" },
{id: 777, name: "Accounts Payable", person: "Rhoda" },
{id: 777, name: "Accounts Payable", person: "Harry" },
{id: 888, name: "IT", person: "Joe" },
{id: 888, name: "IT", person: "Jake" },
];
var unique = data.filter(
function (x, i) {
return data[i].id.indexOf(x.id) === i
});
在此先感謝。
沒錯,就是它!我正在尋找一個for循環,但我認爲過濾是最好的。 –
我不明白爲什麼SO跳得很快就得出結論:有重複的答案。我曾經搜索過,但沒有找到適合我的場景的最佳解決方案。 –
我認爲forEach會更好,因爲這種方法實際上並不使用過濾函數,因爲它不會在函數內部返回任何東西。 – theva