Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将数组映射到JavaScript对象以获取另一个字段的数组_Javascript - Fatal编程技术网

将数组映射到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 yes
Array.prototype.filter
会保持顺序,map会保持顺序吗?@Dawn17 yes
Array.prototype.filter
会保持顺序,map会保持顺序