v21*_*103 1 javascript ecmascript-6
一直在尝试做以下事情:
我有一系列对象,
var arr = [
{ key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
{ key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
];
Run Code Online (Sandbox Code Playgroud)
想要从中获取“文本”和“字段”并形成一个新的对象数组,如下所示:
result = [ { "field" : "firstName" , value : "aabFaa" , type :"add"},
{ "field" : "firstName" , value : "aAaaaa" , type: "add"}
]
Run Code Online (Sandbox Code Playgroud)
这里的类型是硬编码的,其余部分是从“arr”中获取的
有什么更简单的方法可以做到这一点?
已经尝试过这个:
var arr = [
{ key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
{ key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
];
Run Code Online (Sandbox Code Playgroud)
但这必须写成多行才能获得所需的属性。有更简单的方法吗?
map与 一起使用Object Destructuring。
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);Run Code Online (Sandbox Code Playgroud)