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: '男', })


回答:

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

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

回到顶部