JS数组对象里面key名替换、新增、删除
新增
let arr = [{ id: 1, name: '杨过' }, { id: 2, name: '过儿' }]
arr.forEach(item => {
item["status"] = false
})
//对象
let obj = { }
obj['state'] = 1
console.log(obj) //得到的结果为:{state: 1}
替换与删除:
方法一:
JSON.parse(JSON.stringify(data).replace(/keyName/g, 'name'))
注:data为数组,keyName为修改前的键名,name为修改后的键名
1、JSON.stringify()把json对象转成json字符串;
2、使用正则的replace()方法替换属性名;
3、JSON.parse()把json字符串又转成json对象。
1、JSON.stringify()把json对象转成json字符串;
2、使用正则的replace()方法替换属性名;
3、JSON.parse()把json字符串又转成json对象。
方法二:
let newData = []; //创建一个新数组接收
let obj = {}; //创建一个临时对象
this.data.map(item => {
obj = item;
obj['name'] = item['keyName']; //替换键
delete obj['keyName']; //替换后删除,也可以不删除
newData.push(obj) //将替换后的对象重新放入新的数组中
})
注:
1、循环数组对象,复制对象原来的值到新的obj中;
2、在obj对象中添加键名为name的属性,将旧的键名为keyName的属性赋值;
3、删除掉旧的键名为keyName的属性;
4、将处理好的obj对象添加到新数组中。
1、循环数组对象,复制对象原来的值到新的obj中;
2、在obj对象中添加键名为name的属性,将旧的键名为keyName的属性赋值;
3、删除掉旧的键名为keyName的属性;
4、将处理好的obj对象添加到新数组中。