【问题标题】:How to return only objects with targeted parameters?如何仅返回具有目标参数的对象?
【发布时间】:2019-01-15 19:25:20
【问题描述】:

例如我有这个POST 方法:

request_salaries(type)

type 可以是redbluegreen

函数返回这个对象:

{
  data: [
    {
     id: 1,
     name: "Linda",
     type: "Red"
    },
    {
      id: 2,
      name: "Mark",
      type: "Green
    },
    {
      id: 3,
      name: "Susan",
      type: "Blue"
    }
  ]
}

现在,我只需要返回 request_salaries(type) 中传递的数据的 sat。

例如,如果我请求request_salaries(Red)

它应该返回:

{
  data: [
    {
     id: 1,
     name: "Linda",
     type: "Red"
    },
  ]
}

如何实现?

谢谢。

【问题讨论】:

标签: javascript arrays node.js object


【解决方案1】:

只过滤掉合适的值:

const response = { /* your data */ };
const type = 'red';

const filteredResponse = response.data.filter(item => item.type === type)

【讨论】:

  • 另外不要忘记将 filter 数组分配给一个新值,filter 返回与谓词匹配的项目数组。
【解决方案2】:

尝试过滤您的退货

request_salaries(type){

// fetch data and set it in array_salaries


return array_salaries.filter(salary => salary.type == type)



}

【讨论】:

    【解决方案3】:

    你可以使用Array.find():

    var obj = {
      data: [
        {
         id: 1,
         name: "Linda",
         type: "Red"
        },
        {
          id: 2,
          name: "Mark",
          type: "Green"
        },
        {
          id: 3,
          name: "Susan",
          type: "Blue"
        }
      ]
    };
    var val = 'Red';
    var res = obj.data.find(({type}) => type===val);
    console.log(res);

    【讨论】:

      【解决方案4】:

      你可以使用.find()方法

      var type = 'red';
      
      const result = response.data.find(function(item) {
          return item.type === type;
      });
      

      使用箭头函数:

      const result = response.data.find( item => item.type === type );
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-03-20
        • 2020-06-29
        • 2020-05-14
        • 1970-01-01
        • 2021-11-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多