将数组映射到JavaScript对象以获取另一个字段的数组
我有这样的数据,我想使用一个标题数组将数组映射到JavaScript对象以获取另一个字段的数组,javascript,Javascript,我有这样的数据,我想使用一个标题数组,例如['Book','Cat'],来检索一个与标题匹配的\u id数组 我想从这个示例数组中检索['111','222'] 我试过的是 test\u data.filter((item)=>{return item.title===“Book”}) 但它只检索一个标题为Book的对象 如何使用多个字符串值应用此功能?有关标题: const test_data = [ { _id: '111', title: 'Book
,例如['Book','Cat']
,来检索一个与标题匹配的\u id
数组
我想从这个示例数组中检索['111','222']
我试过的是
test\u data.filter((item)=>{return item.title===“Book”})
但它只检索一个标题为Book
的对象
如何使用多个字符串值应用此功能?有关标题:
const test_data = [
{
_id: '111',
title: 'Book',
},
{
_id: '222',
title: 'Cat,
}
]
对于ID:
test_data.map(entry => entry.title);
标题:
const test_data = [
{
_id: '111',
title: 'Book',
},
{
_id: '222',
title: 'Cat,
}
]
对于ID:
test_data.map(entry => entry.title);
您可以使用过滤器和映射
const test_data=[{id:'111',标题:'Book',},{id:'222',标题:'Cat',}]
let条件=['Book','Cat']
let final=测试数据
.filter(({title})=>conditions.includes(title))
.map(({u id})=>\u id)
console.log(最终版)
您可以使用过滤器和映射
const test_data=[{id:'111',标题:'Book',},{id:'222',标题:'Cat',}]
let条件=['Book','Cat']
let final=测试数据
.filter(({title})=>conditions.includes(title))
.map(({u id})=>\u id)
console.log(final)
您可以使用集合
来查找表格,如果集合中存在值,请过滤数据
,并使用\u id
将其映射:
const测试数据=[
{
_id:'111',
书名:"书",,
},
{
_id:'222',
标题:"猫",,
}
];
常量过滤器集=新设置([“Book”,“Cat]”);
log(test_data.filter(({title})=>filterSet.has(title))
.map(({u id})=>\u id))代码>您可以使用集合
查找表格,如果集合中存在该值,请过滤数据
,并使用\u id
将其映射:
const测试数据=[
{
_id:'111',
书名:"书",,
},
{
_id:'222',
标题:"猫",,
}
];
常量过滤器集=新设置([“Book”,“Cat]”);
log(test_data.filter(({title})=>filterSet.has(title))
.map(({u id})=>\u id))代码>
我想使用一个标题数组,例如[‘Book’、‘Cat’]来检索
与标题匹配的_id数组
如果您打算使用标题检索id,那么以下内容可能会对您有所帮助
test_data.map(entry => entry.id);
我想使用一个标题数组,例如[‘Book’、‘Cat’]来检索
与标题匹配的_id数组
如果您打算使用标题检索id,那么以下内容可能会对您有所帮助
test_data.map(entry => entry.id);
这是否也会保持顺序,例如书籍与111
匹配?@Dawn17顺序将取决于您的测试数据,因为我们正在循环测试数据以过滤值这是否也会保持顺序,例如书籍与111
匹配?@Dawn17顺序将取决于您的测试数据,因为我们正在循环测试数据以过滤值这会保持顺序吗?@Dawn17 yesArray.prototype.filter
会保持顺序,map会保持顺序吗?@Dawn17 yesArray.prototype.filter
会保持顺序,map会保持顺序