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

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);

img

在arr数组里push新对象
arr.push(newObj)