数组元素作为json的属性名字

58 阅读1分钟

开发时由于不确定后续的id是不是会更改,如果已一更改就需要大量修改写死的属性名字,修改起来费时费力不说,还会导致遗漏,突然想到能不能写一个变量去动态生成属性名字

尝试发现并不行,会报错

const idList = [1,2,3,4]
const json={
    idList[0]:{
        name:1
    },
    idList[1]:{
	name:3
    }
}

后面发现es6的语法可以使用[],在[]里面书写表达式,写了个小demo打印结果

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			const idList = [1,2,3,4]
			const json={
				[idList[0]]:{
					name:1
				},
				[idList[1]]:{
					name:3
				}
			}
			console.log(json,idList[2]);
		</script>
	</body>
</html>

总结:思路是主要的,不要一味按照平时的开发习惯去开发,有时改变一下可以提高效率,减小出错的几率