Been trying to do the following thing:
I have an array of objects ,
var arr = [
{ key: "aabFaa", text: "aabFaa" ,field: "firstName",checked: true},
{ key: "aAaaaa", text: "aAaaaa", field: "firstName", checked: true },
];
Would want to fetch the "text" and "field" out of it and form a new array of objects something like this:
result = [ { "field" : "firstName" , value : "aabFaa" , type :"add"},
{ "field" : "firstName" , value : "aAaaaa" , type: "add"}
]
Here type is hard coded one, where as rest are fetched from the "arr"
Whats the easier way to do this?
Have tried this:
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)
But this has to be written in multiple lines to get desired properties.Is there an easier approach?
use map
with 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);
使用map似乎是一种好方法,但是您将返回一个新对象,而不仅仅是一个属性:
let result = arr.map(a => ({value: a.text, type: 'add', field: a.field}));
let result = arr.map(obj => ({
field: obj.field,
value: obj.text,
type: "add"
}));
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.