javascript - 如何在Array对象中重复更改值

标签 javascript

输入:- 这里我有一个数组对象,其中 natraj 是重复的,所以我需要像给定的示例一样附加一些计数。

var aa= [
     {name:'natraj'},
     {name:'ajai'},
     {name:'natraj'},
     {name:'ajai'},
     {name:'barath'},
     {name:'ajai'},
     {name:'barath'},
     {name:'natraj'},
   ]

输出:-

  [
     {name:'natraj'},
     {name:'ajai'},
     {name:'natraj_1'},
     {name:'ajai_1'},
     {name:'barath'},
     {name:'ajai_2'},
     {name:'barath_1'},
     {name:'natraj_2'},
   ]

最佳答案

保持运行计数:

var aa = [{name:'natraj'},{name:'ajai'},{name:'natraj'},{name:'ajai'},{name:'barath'},{name:'ajai'},{name:'barath'},{name:'natraj'},]

let counts = {}
aa.forEach(o => {
  if (counts[o.name]) {
    o.name += `_${counts[o.name]++}`
  } else {
    counts[o.name] = 1
  }
});

console.log(aa)

关于javascript - 如何在Array对象中重复更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55535751/

相关文章:

javascript - RxJS:将 promise 结果和 promise 错误映射到不同的值

javascript - 如何仅在需要时在我的 React 应用程序中加载 google maps api <script>?

php - 在 JavaScript 中为 Google Maps V2 使用 PHP 变量

javascript - Typescript 允许以数字开头创建类字段名称

javascript - 使用带箭头的 MaterializeCSS 轮播 - 如何使用普通 javascript 进行初始化

javascript - 使用 For 循环初始化 JQuery Accordion

javascript - 页面响应选项卡

javascript - 将 JQuery 插件变成 AngularJS 指令?

javascript - 如何让我的图像在 HTML 或 CSS 中的某个点停止重复?

javascript - 使用 Angular.js 版本 1.2.18 进行嵌套过滤