如何在 JavaScript 对象文字中使用变量作为键?

javascriptweb developmentfront end technology

在 JavaScript 中,有时我们需要使用变量作为对象键。例如,当从 API 获取数据并且不确定所有响应数据属性时,我们必须遍历响应对象并存储它的每个属性。

但是,我们不能在创建对象时将变量用作键,但创建后,我们可以将变量属性添加到对象中。

语法

用户可以按照以下语法在 JavaScript 对象中使用变量作为键。

object[key] = value;

在上述语法中,"key"是包含一些值的变量。

示例

在下面的示例中,我们创建了包含表属性的对象。此外,我们创建了"dimensions"变量来存储表的尺寸。"key"变量包含"dimensions"作为字符串值。

创建对象后,我们将"key"变量用作对象属性,将"dimension"变量的值用作对象属性值。

<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 对象时使用变量作为键。当我们使用变量作为键时,它实际上使用变量的值作为键。


相关文章