以下にオブジェクトの配列があります
const response =
[
{
id: 105,
label: 'test',
directories: [ '/api/1/directories/500' ]
},
{
id: 337,
label: 'test2',
directories: [ '/api/1/directories/766' ]
},
{
id: 200,
label: 'test20',
directories: [ '/api/1/directories/95' ]
}
]
そして、私はディレクトリと呼ばれる配列を持っています
directories = [ '/api/1/directories/766', '/api/1/directories/95' ]
ディレクトリ配列内のディレクトリに一致するオブジェクトのIDのみを返すように応答を検索/フィルタリングしようとしています
したがって、サンプル出力は次のようになります。これは、一致したオブジェクトのIDのみです。
sampleOut= [337, 200]
あなたは使用することができますreduce
し、では存在を確認するindexOf
ように
const response =
[
{
id: 105,
label: 'test',
directories: [ '/api/1/directories/500' ]
},
{
id: 337,
label: 'test2',
directories: [ '/api/1/directories/766' ]
},
{
id: 200,
label: 'test20',
directories: [ '/api/1/directories/95' ]
}
]
directories = [ '/api/1/directories/766', '/api/1/directories/95' ];
var result = response.reduce((acc, item)=>{
if(directories.indexOf(item.directories[0]) > -1){
acc.push(item.id);
}
return acc;
},[]);
console.log(result);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加