javascript - 从对象数组中获取多个属性并形成一个新属性 : Javascript

标签 javascript ecmascript-6

一直在尝试做以下事情:

我有一个对象数组,


var arr = [
  { key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
  { key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
];

想要从中获取“文本”和“字段”并形成一个新的对象数组,如下所示:

result = [ { "field" : "firstName" , value : "aabFaa" , type :"add"}, 
           { "field" : "firstName" , value : "aAaaaa" , type: "add"}
         ]  

这里的类型是硬编码的,其余部分是从“arr”中获取的

有什么更简单的方法可以做到这一点?

尝试过这个:

var arr = [
  { key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
  { key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
];

let result = arr.map(a => a.text); 
console.log(result)

但是必须将其写成多行才能获得所需的属性。有更简单的方法吗?

最佳答案

map对象解构结合使用。

var arr = [
    { key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
    { key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
  ];

const output = arr.map(({field, text}) => ({field, value: text, type: "add"}));

console.log(output);

关于javascript - 从对象数组中获取多个属性并形成一个新属性 : Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57057520/

相关文章:

javascript - Express.js 和 Bluebird - 处理 promise 链

javascript - 如何使用绝对行号从复选框中使用 jquery 获取表格单元格的值

javascript - JS中的自定义排序

javascript - ExtJS 存储 - 只加载一次 JSON

javascript - 如何克隆 ES6 类对象构造函数?

javascript - 使用多参数函数时无法获取对象数据

javascript - 语法错误 : Missing initializer in destructuring declaration

javascript - 如何用jquery移动div类

javascript - 在 Nest.js 中,如何在装饰器中获取服务实例?

javascript - 为什么我的 promise 返回未定义?