【问题标题】:How to filter an array by key and push the value to another array using javascript如何按键过滤数组并使用javascript将值推送到另一个数组
【发布时间】:2020-11-25 20:06:03
【问题描述】:

这是我的第一个数组

data=  [{
  "id":1111,
  "date":"2020-08-03T08:00:00+00:00",
  "age":23,
   "email":"test@yahoo.com",
   "address":"phill road",
   "salary":1222.00
},

 {
  "id":222,
  "date":"2020-08-03T08:00:00+00:00",
  "age":24,
   "email":"tes22t@yahoo.com",
   "address":"phill2222 road",
   "salary":3344
}
]

第二个数组应该是这样的

  dataNew=  [1222.00,3344]

我需要第二个仅包含 工资值 的数组。如何过滤第一个数组,如果 keys name = "salary" ,将值推送到新数组。搜索了这么多建议,但似乎没有什么对我有用..

【问题讨论】:

    标签: javascript arrays arraylist array-filter


    【解决方案1】:

    data=  [{
      "id":1111,
      "date":"2020-08-03T08:00:00+00:00",
      "age":23,
       "email":"test@yahoo.com",
       "address":"phill road",
       "salary":1222.00
    },
     {
      "id":222,
      "date":"2020-08-03T08:00:00+00:00",
      "age":24,
       "email":"tes22t@yahoo.com",
       "address":"phill2222 road",
       "salary":3344
    },
     {
      "id":223,
      "date":"2020-08-03T08:00:00+00:00",
      "age":24,
       "email":"tes22t@yahoo.com",
       "address":"phill2222 road"
    }
    ]
    
    console.log(data.filter(e => e.salary).map(e => e.salary));

    【讨论】:

      【解决方案2】:
      data=  [{
        "id":1111,
        "date":"2020-08-03T08:00:00+00:00",
        "age":23,
         "email":"test@yahoo.com",
         "address":"phill road",
         "salary":1222.00
      },
      
       {
        "id":222,
        "date":"2020-08-03T08:00:00+00:00",
        "age":24,
         "email":"tes22t@yahoo.com",
         "address":"phill2222 road",
         "salary":3344
      }
      ]
      const dataNew=[]
      data.map(item=>item.salary?dataNew.push(item.salary):null)
      

      【讨论】:

        【解决方案3】:

        这个

        data = [{
            "id": 1111,
            "date": "2020-08-03T08:00:00+00:00",
            "age": 23,
            "email": "test@yahoo.com",
            "address": "phill road",
            "salary": 1222.00
          },
        
          {
            "id": 222,
            "date": "2020-08-03T08:00:00+00:00",
            "age": 24,
            "email": "tes22t@yahoo.com",
            "address": "phill2222 road",
            "salary": 3344
          }
        ]
        arr = []
        for (i = 0; i < data.length; i++) {
          console.log(data[i]['salary'])
          arr.push(data[i]['salary']);
        }
        console.log(arr)

        【讨论】:

          【解决方案4】:

          你可以在数组上使用.map()

          data.map(item => item.salary)
          

          【讨论】:

            【解决方案5】:

            data=  [{
              "id":1111,
              "date":"2020-08-03T08:00:00+00:00",
              "age":23,
               "email":"test@yahoo.com",
               "address":"phill road",
               "salary":1222.00
            },
            
             {
              "id":222,
              "date":"2020-08-03T08:00:00+00:00",
              "age":24,
               "email":"tes22t@yahoo.com",
               "address":"phill2222 road",
               "salary":3344
            }]
            
            data.map(item =>  item.salary)

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-09-25
              • 2020-06-24
              • 2022-06-22
              • 2014-02-04
              • 1970-01-01
              • 2018-06-26
              相关资源
              最近更新 更多