簡體   English   中英

如何從與ID數組匹配的JSON中提取一堆數據

[英]How to extract a bunch of data from JSON matching an array of ids

在Javascript中,我有帖子的數據集(JSON)。 每個帖子都有一個post_id 我有一個post_id數組,我想用它從主數據集中提取某些帖子。

const dataset = [
     {post_id: 1, title: 'First Post'},
     {post_id: 2, title: 'Second Post'},
     {post_id: 3, title: 'Third Post'},
];

然后我有我想要得到哪些職位數組:

const posts_to_get = [0,3];

如何解析數據集以提取id = 0id = 3

我的數組可能包含許多ID,所以我想我需要對其進行迭代。 認為我可以做很多循環,但是感覺不對。

注意 :我目前正在為前端應用程序做一個“模擬后端”。 從長遠來看,我當然會更好/更有效地獲取帖子。 但是目前,我已經可以使用這個JSON數據集。

謝謝!

像這樣嗎

 const dataset = [ {post_id: 1, title: 'First Post'}, {post_id: 2, title: 'Second Post'}, {post_id: 3, title: 'Third Post'}, ]; const posts_to_get = [1,3]; var result = dataset.filter(p=>posts_to_get.includes(p.post_id)) console.log(result) 

如果您有大型數據集,則在嘗試讀取之前將數組轉換為對象可能是值得的。

const m = dataset.reduce((obj, cur) => {
    obj[cur.post_id] = cur;
    return obj;
}, {});

查找將是固定時間(盡管您必須將要查找的post_id轉換為字符串:

const ids_to_find = [1, 3];
console.log(ids_to_find.map(i => m[i.toString()]));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM