js往原数组中添加新对象,每次添加的值+1。
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: '男', })
回答:
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);
回答:
arr.map((v, i) => ({...v, name: v.name + (i + 1)}))
回答:
为什么要加一呢 数组本身就是有序的
index不能用吗
以上是 js往原数组中添加新对象,每次添加的值+1。 的全部内容, 来源链接: utcz.com/p/936119.html