JavaScript 如何在对象字面量中使用变量作为键
在JavaScript中,有时我们需要使用变量作为对象的键。例如,在从API获取数据时,我们不确定所有响应数据的属性,必须遍历响应对象并存储每个属性。
然而,在创建对象时,我们无法将变量作为键使用,但是创建后,我们可以将变量属性添加到对象中。
语法
用户可以按照下面的语法来使用JavaScript对象中的变量作为键。
object[key] = value;
在上述语法中,’key’是一个包含某个值的变量。
示例
在下面的示例中,我们创建了包含表格属性的对象。同时,我们创建了一个变量’dimensions’来存储表格的尺寸。变量’key’包含’dimensions’作为字符串值。
创建对象后,我们使用变量’key’作为对象属性,并使用变量’dimensions’的值作为对象属性的值。
<html>
<body>
<h2>Using variables as key of JavaScript object</h2>
<div id = "content"> </div>
<script>
let content = document.getElementById("content");
let object = {
"table_id": 1,
"table_name": "table1",
"table_price": 100
};
let dimesions = "100 x 100";
let key = "dimensions";
object[key] = dimesions;
for (let key in object) {
content.innerHTML += key + " : " + object[key] + "<br>";
}
</script>
</body>
</html>
输出
在输出结果中,用户可以观察到表格的尺寸被存储在 “dimensions” 对象的一个值中。
示例
在下面的示例中,我们创建了一个空对象。之后,我们使用 for 循环做了 10 次迭代。我们在每次迭代中使用 “i” 作为键,i*i 作为属性值。
这样,我们将数字的平方存储为一个值,将数字本身存储为键。
<html>
<body>
<h2>Using variables as key of JavaScript object</h2>
<div id="content"> </div>
<script>
let content = document.getElementById("content");
let object = {};
for (let i = 0; i < 10; i++) {
object[i] = i * i;
}
content.innerHTML = "The object is: " + JSON.stringify(object) + "<br>";
for (let i = 0; i < 10; i++) {
content.innerHTML += "The square of " + i + " is " + object[i] + "<br>";
}
</script>
</body>
</html>
用户在创建JavaScript对象时学会了将变量用作键。当我们用变量作为键时,实际上是使用了变量的值作为键。