js中为对象添加属性的方法
一.在普通js中
var Handsome = {};// 首先命名一个对象
// 然后获取属性名和属性值
var name = “姓名”;
var val = “杨一”;
var age = “年龄”;
var val2 = 22;
// 将属性赋给对象
Handsome[name] = val; // 利用方括号添加属性名和值
Handsome[age] = val2;
console.log("Handsome", Handsome);
打印结果:
var obj = {}
this.obj.name = '123'//this.obj[name] = "123";
this.obj.age = 12//this.obj[age] = 12
console.log(obj, '输出对象obj')
打印结果
2、在vue中使用
利用this.$set(对象名,“属性名”,属性值) 或者 Vue.set(对象名,“属性名”,属性值)
注:属性名用引号
打印结果
3.在react中
在循环中得到的数据有两条
修改前(是两条数据):
{
"code": "createBy",
"name": "字段:创建人",
"type": "01"
}
{
"code": "createTime",
"name": "字段:创建时间",
"type": "7"
}
修改后(一条数据):
{
"createBy": "字段:创建人",
"createTime": "字段:创建时间"
}
代码举例如下:
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。Object.assign(目标对象,源对象),如果目标对象中的属性有与源对象 相同的键,则属性将被 源对象 中的属性 覆盖。
//this.state.sureExportList定义的是一个空对象
let newTestData=Object.assign(this.state.sureExportList,{[correspondingItem.code]:correspondingItem.name}); //用新的值覆盖原来的值,[correspondingItem.code]属性,correspondingItem.name属性值
this.setState({sureExportList:newTestData})//改变state中sureExportList的属性