首页 > 解决方案 > 通过递增计数将键编号分配给对象中的键

问题描述

我有一个对象数组。我需要通过增加 count 来转换 'key' 的值。

假设我有一个数组

const arr1=[{key:'a', val:1},{key:'b',val:2}]

我想给每个键一个递增的键值

我已经尝试了下面的代码,但无法覆盖计数值

   let count = 0;
   const arr1=[{key:'a', val:1},{key:'b',val:2}]
   arr1.map(el => el.key=count+1);
   console.log(arr1)

预期结果 : [ { key: 1, val: 1 }, { key: 2, val: 2 } ]

标签: javascriptarraysobject

解决方案


您可以使用forEach循环遍历数组并根据索引更新键

const array = [ { key: 1, val: 1 }, { key: 2, val: 2 } ]
array.forEach((o, i) => o.key = i+1)
console.log(array)

如果你想要一个新数组,你可以这样使用map

const array = [ { key: 1, val: 1 }, { key: 2, val: 2 } ],
      newArray = array.map((o, i) => ({ ...o, key: i+1}));

console.log(newArray)


推荐阅读