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: '男', }
]
const arr = [{ name: '张三1', gender: '男' }],
name = arr[arr.length - 1].name.replace(/[0-9]/ig, ''),
startNum = Number(arr[arr.length - 1].name.replace(/[^0-9]/ig, ''));
arr.push({
name: name + (startNum + 1),
gender: arr[arr.length - 1].gender
});
取arr最后的name值 做截取 并判断新对象是否跟原先的name值一致 如果一致 数字加一拼接
var arr =[
{
"name":'lisi1',
"sex":'man'
},
{
"name":'lisi2',
"sex":'man'
}
]
function generate(arr,n){
for(var i = 2; i <= n; i++) {
arr[i]={"name":"lisi"+i,"sex":"man"}
}
return arr;
}
var result = generate(arr,10)
console.log(result);
这个函数可以实现这个功能,generate的第二个参数是由你决定的,不一定是10
let arr = [{ "name": '张三1', "gender": '男'}, { "name": '张三222', "gender": '女'}]
function add() {
if (arr.length > 1) {
let name = arr[arr.length - 1].name;
let num = name.replace(/[^0-9]/ig,"");
arr.push({"name": name.replace(num, "") + (parseInt(num) + 1), "gender": '男'})
}
}
add();
console.log(arr);
在arr数组里push新对象
arr.push(newObj)