这是一组书籍对象。
const books=[
{
"id": 1,
"title": "NPR",
"url": "https://www.npr.org"
},
{
"id": 2,
"title": "Google Docs",
"url": "https://docs.google.com/"
},
{
"title": "Fetch API Docs",
"url": "https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch",
"id": 3
},
{
"title": "Yahoo",
"url": "http://www.yahoo.com",
"id": 4
},
{
"title": "Google",
"url": "http://www.google.com",
"id": 5
}
]
和一个单独的 ID 数组
const selectedIds = [1, 5, 3]
使用 javascript,如何将书籍数组过滤为selectedIds(保持与 in 相同的顺序selectedIds)?
我希望得到的最终结果:
selectedBooks = [
{
"id": 1,
"title": "NPR",
"url": "https://www.npr.org"
},
{
"title": "Google",
"url": "http://www.google.com",
"id": 5
},
{
"title": "Fetch API Docs",
"url": "https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch",
"id": 3
}
]
我当前的代码是这样的,但这保留了books数组的顺序(即 [1, 3, 5]):
books.filter(function(item) {
return selectedIds.includes(item.id);
}
冉冉说
慕妹3242003
相关分类