这个问题已经问了很多遍了,但我无法解决。
我有两个数组,第一个是:
first= [
{
id:1, descrizione: "Oggetto 1",
codiceAzienda: "Codice 1",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
},
{
id:2, descrizione: "Oggetto 2",
codiceAzienda: "Codice 2",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
},
{
id:3, descrizione: "Oggetto 3",
codiceAzienda: "Codice 3",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
},
{
id:4, descrizione: "Oggetto 4",
codiceAzienda: "Codice 4",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
},
{
id:5, descrizione: "Oggetto 5",
codiceAzienda: "Codice 5",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
}
]
第二个是这个
second = [
{
id:1, descrizione: "Oggetto 1"
},
{
id:3, descrizione: "Oggetto 3"
}
]
我要实现的是拥有一个仅包含第一个对象且ID等于第二个对象之一的数组。因此结果将是:
final= [
{
id:1, descrizione: "Oggetto 1",
codiceAzienda: "Codice 1",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
},
{
id:3, descrizione: "Oggetto 3",
codiceAzienda: "Codice 3",
dataInserimento:"01-01-2019",
dataAggiornamento: "01-01-2019"
}
]
我尝试这样做:
final= first.filter(ogg => second.map(y => y.id).includes(ogg.id));
但是结果是我拥有第一个数组的所有对象。我也尝试过使用array.some()
:
final= first.filter(ogg => second.some(id => ogg.id == id));
在这种情况下,最终数组为空。
Example of the second case
答案 0 :(得分:0)