我有一个像这样的数组:
let swCharacters = [
{ id: 0, name: "Luke", seriesId: 1 },
{ id: 1, name: "Han", seriesId: 1 },
{ id: 2, name: "Din Djarin", seriesId: 4 },
{ id: 3, name: "Anakin", seriesId: 2 },
{ id: 4, name: "Yoda", seriesId: 1 },
{ id: 5, name: "Grogu", seriesId: 4 }
];
我想过滤掉除seriesId为4的那些内容以外的所有内容,因此我发现这对您有帮助:
swCharacters = swCharacters.filter(x => x.seriesId === 4).map(x => x.seriesId)
console.log("The Mandalorian: ", swCharacters);
但这并没有满足我的需要。
它只是创建一个以4为唯一成员的数组,例如[4,4]。
我需要过滤后的数组看起来像:
[{ id: 3, name: "Din Djarin", seriesId: 4 }, { id: 6, name: "Grogu", seriesId: 4 }]
我可以使用javascript吗?
谢谢!
您可以直接在swCharacters上调用filter 。
const res = swCharacters.filter(x => x.seriesId === 4);
let swCharacters = [{
id: 0,
name: "Luke",
seriesId: 1
},
{
id: 1,
name: "Han",
seriesId: 1
},
{
id: 2,
name: "Din Djarin",
seriesId: 4
},
{
id: 3,
name: "Anakin",
seriesId: 2
},
{
id: 4,
name: "Yoda",
seriesId: 1
},
{
id: 5,
name: "Grogu",
seriesId: 4
}
];
const res = swCharacters.filter(x => x.seriesId === 4);
console.log(res)
当您将其与地图链接时,将首先应用
map(x => x.seriesId)
这将返回所有seriesId的数组作为过滤器的输入。然后,筛选器将在数组中检查所有值为4的seriesIds并将其作为数组返回。
这将导致
[4, 4]
let swCharacters = [{
id: 0,
name: "Luke",
seriesId: 1
},
{
id: 1,
name: "Han",
seriesId: 1
},
{
id: 2,
name: "Din Djarin",
seriesId: 4
},
{
id: 3,
name: "Anakin",
seriesId: 2
},
{
id: 4,
name: "Yoda",
seriesId: 1
},
{
id: 5,
name: "Grogu",
seriesId: 4
}
];
swCharacters = swCharacters.filter(x => x.seriesId === 4).map(x => x.seriesId)
console.log(swCharacters);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句