JavaScript中JSON转数组遇到Uncaught TypeError: Cannot set properties of undefined (setting ‘变量名‘)

报错代码:

		    let list =${sessionScope.cateLogList};
			//json转数组
			let arr = [];
			for (var i in list) {
				arr[i]['catelogId'] = list[i].catelogId;
				arr[i]['catelogName'] = list[i].catelogName;
				console.log(arr[i]['catelogName']);
			}

定义了一个数组,想将接收到的Json转为数组,但是遇到了Uncaught TypeError报错报错信息

报错原因

一开始以为是错在list上,排查后发现是因为数组没有提前定义

解决方案

提前给数组进行赋null值

		let list =${sessionScope.cateLogList};
		//json转数组
		//提前对数组进行赋值
		let arr = [{
			'catelogId':null,
			'catelogName':null
		}];
		for ( var i = 0; i<list.length;i++){
			arr.push({
			'catelogId':null,
			'catelogName':null
			});
		}
		
		for (var i in list) {
			arr[i]['catelogId'] = list[i].catelogId;
			arr[i]['catelogName'] = list[i].catelogName;
			console.log(arr[i]['catelogName']);
		}

问题解决
问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值