如何仅获取与特定值匹配的json

这是输入的json


 set = {

  "pending": [

  {


    "is_active": true,

    "order_updated": false,

    "po_id": "m86lu",


  }, {

     "is_active": true,

    "order_updated": false,

    "po_id": "m86lu",

  }, {

     "is_active": true,

    "order_updated": false,

    "po_id": "m86l89u",

  }]}



 set = set.pending[0].filter(({ po_id }) => { 

    return po_id === 'm86lu';


 });

我只需要获取具有 po_id 'm86lu' 的 json 集。


输出需要是这样的


set = {

"pending": [

  {


    "is_active": true,

    "order_updated": false,

    "po_id": "m86lu",


  }, {

     "is_active": true,

    "order_updated": false,

    "po_id": "m86lu",

  }

  ]}

我如何得到它?看起来我使用的filter功能不正确。


一只萌萌小番薯
浏览 153回答 2
2回答

慕神8447489

挂起的密钥会以这种方式丢失  set = {       pending: set.pending.filter(({ po_id }) => { return po_id === 'm86lu'; })  }

湖上湖

循环遍历json,根据评论的建议一一添加到新集合中。var input = {  "pending": [  {    "is_active": true,    "order_updated": false,    "po_id": "m86lu",  }, {     "is_active": true,    "order_updated": false,    "po_id": "m86lu",  }, {     "is_active": true,    "order_updated": false,    "po_id": "m86l89u",  }]}var output = {};for (var key in input) {    if (!input.hasOwnProperty(key)) {        continue;    }    let content = input[key].filter(({ po_id }) => { return po_id === 'm86lu'; });    output[key] = content;}console.log(output);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript