js往原数组中添加新对象,每次添加的值+1。

发布于 2022-09-13 01:24:02 字数 551 浏览 12 评论 0

let arr = [ { name: '张三1', gender: '男', },  { name: '张三2',  gender: '女',  } ]

假如这是后台返回的一组数据,我需要往数组里添加对象,用最简便的方法,使得每次添加的name的值,按照我添加的顺序排列+1呢,像以下这样,就是只有数字+1,萌新求指教!!

let arr = [ 
{ name: '张三1', gender: '男', },  
{ name: '张三2',  gender: '女',  },  
{ name: '张三3',  gender: '男',  },  
{ name: '张三4',  gender: '男',  },  
{ name: '张三5',  gender: '男',  }
]

不是循环添加,而是每次只添加一个对象,且让数字+1

arr.push({ name: '张三', gender: '男', })

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

音盲 2022-09-20 01:24:02

image.png

let arr = [ 
{ name: '张三abd0d01', gender: '男', }]
//获取最后一个
let lastObj = Object.assign({name:'',gender:''},arr.slice(-1)[0]);
// 判断存在和数字
if(lastObj && lastObj.name && RegExp(/\d/g).test(lastObj.name)){
  //最后连续数字自增1
  var lastObjName = lastObj.name.toString().match(/\d{1,}/g).slice(-1)[0];
   lastObj.name = lastObj.name.replace(new RegExp("(.*)" + lastObjName), '$1' + (Number(lastObjName) + 1).toString().padStart(lastObjName.length,'0'));
}
arr.push(lastObj);
console.log(arr);
月下凄凉 2022-09-20 01:24:02

arr.map((v, i) => ({...v, name: v.name + (i + 1)}))

感情废物 2022-09-20 01:24:02

为什么要加一呢 数组本身就是有序的
index不能用吗

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文