【问题标题】:Javascript get an object array filtered only with certain propertiesJavascript获取仅使用某些属性过滤的对象数组
【发布时间】:2019-06-22 22:08:32
【问题描述】:

我有一个对象数组(对象为<Employee>类型)如下图,

[{i: "MCA001", j: 4, n: "KEITH G MCALLISTER", m: null, a: 1, …}
, {...}]

我想用某些属性过滤这个对象数组, 例如,过滤后的数组应该有几个属性,

[{i:.., j:.., a:..}]

我正在尝试使用过滤器和映射功能,但仍然没有成功。 感谢是否有人可以帮助我解决这个问题。 非常感谢。

【问题讨论】:

  • 这样你就可以循环并映射一个新的...var arr = [{a:1,b:11,c:111},{a:2,b:22,c:222},{a:3,b:33,c:333}] var updated = arr.map(({ a, b}) => { return { a, b } }) console.log(updated)
  • @T.J.Crowder 你没读过。 :) OP 希望从对象中删除属性,而不是减少数组。
  • 并且@CodeManiac 删除了正确的答案
  • @CodeManiac 我解除了欺骗,因为它不正确。它正在过滤数组。
  • @epascarello 我也恢复了我删除的答案:p

标签: javascript typescript


【解决方案1】:

您可以使用mapdestructuring

let data = [{i: "MCA001", j: 4, n: "KEITH G MCALLISTER", m: null, a: 1,}, {i: "MCA002", j: 5, n: "KEITH G MCALLISTER", m: null, a: 22,},{i: "MCA0111", j: 5, n: "KEITH G MCALLISTER", m: null, a: 123,}]


let  output = data.map(( {i, j, a} )=> ( {i, j, a} ) )

console.log(output)

【讨论】:

    猜你喜欢
    • 2019-05-29
    • 2014-04-07
    • 2020-05-21
    • 2014-08-17
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    • 2022-08-18
    • 1970-01-01
    相关资源
    最近更新 更多