JS 对象动态添加Key value对

本文介绍了一种将表格数据转换为JSON格式的方法。通过遍历表头(columnList)和数据列表(dataList),动态创建JSON对象。该方法适用于需要将二维数据结构转化为JSON格式的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求

json对象动态添加key value对。
例如 目前有个数据 columnList和dataList,需要解析成jsonArray

columnList: [
	'表头1', '表头2', '表头3'
]
dataList: [
	['数据1', '数据2', '数据3'],
	['数据11', '数据22', '数据22'],
]

=> 
data : [
	{ '表头1': '数据1', '表头2': '数据2', '表头3': '数据3' }
	,{}
]

可以理解为动态增加Json。

方法

声明对象有两种方法

  • let json = { key: value } 而这种方法显然不能动态添加,且key不是一个变量
  • let json = {}; json[key] = value.
    而这种方法显然可以动态添加,所以
let data = [];
dataList.forEach(value => {
	let obj = {};
	for(let i = 0;i < columnList.length;i ++) {
		obj[columnList[i]] = dataList[i];
	}
	data.push(obj);
})
JavaScript中,可以使用以下几种方法动态地向对象添加键值对: 1. 使用点号语法:可以使用点号语法直接给对象添加属性和值,例如:obj.key = value; 2. 使用方括号语法:可以使用方括号语法动态添加属性和值,例如:obj[key] = value; 3. 使用Object.defineProperty()方法:该方法可以定义一个新属性或修改一个已有属性,并指定该属性的特性,例如:Object.defineProperty(obj, 'key', {value: value, writable: true, enumerable: true, configurable: true}); 4. 使用Object.assign()方法:该方法可以将一个或多个源对象的所有可枚举属性复制到目标对象中,在JavaScript中,可以通过以下两种方式动态添加键值对对象: 1.使用点号或方括号语法添加属性 可以使用点号或方括号语法向对象添加属性。点号语法适用于属性名是一个有效的标识符的情况,而方括号语法适用于属性名是一个字符串或表达式的情况。 例如,假设我们有一个空对象obj,我们可以使用以下代码向其添加一个名为key,值为value的属性: ``` obj.key = value; ``` 或者使用方括号语法: ``` obj['key'] = value; ``` 如果属性名是一个表达式,可以使用方括号语法: ``` let propName = 'key';obj[propName] = value; ``` 2.使用Object.defineProperty方法添加属性 可以使用Object.defineProperty方法向对象添加属性。这个方法允许我们定义属性的各种特性,例如可写性、可枚举性和可配置性。 例如,假设我们有一个空对象obj,我们可以使用以下代码向其添加一个名为key,值为value的属性: ``` Object.defineProperty(obj, 'key', { value: value, writable: true, enumerable: true, configurable: true }); ``` 以上两种方法都可以用来动态添加键值对对象。在第一个引用中的代码示例中,可以使用第一种方法向arr_obj对象动态添加键值对对象
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值