Есть несколько способов сделать это, и Array.map
- безусловно, самый краткий и чистый способ сделать это, как уже было предоставлено.Вот несколько других методов:
const data = [ { name: "A", age: "12" }, { name: "B", age: "5" }, { name: "C", age: "6" } ];
let from = Array.from(data, ({name, age}) => ({name, age, key: name+age}))
let assign = data.map(({name, age}) => Object.assign({name, age}, {key: name+age}))
console.log('from: ', from)
console.log('assign: ', assign)
Если вы хотите сгенерировать ключ из всех values
(при условии, что все являются примитивами), вы также можете сделать это:
const data = [
{ name: "A", age: "12", city: 'Miami' }, // "key": "A12Miami"
{ name: "B", age: "2", gender: 'M'}, // "key": "B2M"
];
let all = data.map(obj =>
({...obj, ...Object.fromEntries([['key', Object.values(obj).join('')]])}))
console.log(all)
Таким образом, вам не нужно указывать поп-имена или заботиться о них и т. Д.