如何在 JavaScript 中修改 JSON 对象的数组值?


在本文中,我们将讨论如何在 JavaScript 中修改 JSON 对象的数组值。我们尝试更新新值或修改数组中的现有值。

修改数组就像修改对象一样,当该数组在对象内部时。这里将适用修改的正常通用原则。

语法

以下是 for…in 语句的语法。

for (var in obj) {
   //code 
}

示例 1

在这个例子中,我们尝试使用 for…in 语句遍历数组。此语句帮助我们循环遍历对象的属性。我们可以为每个属性执行一次代码。在这里,我们尝试修改现有值并返回数组。

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8" />
      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <title> Modify an array value of a JSON Object </title>
   </head>
   <body>
      <script type="text/javascript">
         let res1 = "";
         let res2 = "";
         let obj = {
            firstName: "Alice",
            lastName: "Cullen",
            companies: ["Tesla", "Spacex", "Neuralink"],
         };
         for (let i in obj.companies) {
            res1 += obj.companies[i] + "</br>";
         }
         document.write("Before change: " + " " + res1);
         obj.companies[0] = "SolarCity";
         for (let i in obj.companies) {
            res2 += obj.companies[i] + "</br>";
         }
         document.write("After change:" + " " + res2);
      </script>
   </body>
</html>

示例 2

在这个例子中,我们尝试使用 for…in 语句遍历数组。此语句帮助我们循环遍历对象的属性。我们可以为每个属性执行一次代码。在这里,我们尝试修改现有值并返回数组。

<!DOCTYPE html>
<html lang="en">
   <head>
      <meta charset="UTF-8" />
      <meta http-equiv="X-UA-Compatible" content="IE=edge" />
      <meta name="viewport" content="width=device-width, initial-scale=1.0" />
      <title>Modify an array value of a JSON Object</title>
      <div id="display"></div>
   </head>
   <body>
      <script type="text/javascript">
         let arr = new Array("Alice", 00, "Edward", 80);
         let res = "";
         arr[1] = 40;

         for (let i in arr) {
            res += arr[i] + "<br>";
         }

         document.getElementById("display").innerHTML = res;
      </script>
  </body>
</html>

示例 3

在下面的示例中,最初在“companies”数组中,第一个元素是“Tesla”。但在修改后,第一个元素更改为“SolarCity”,结果显示在输出中。

<html>
<body>
   <script>
      var res1 = "";
      var res2 = "";
      var obj = {
         "name":"Elon musk",
         "age":48,
         "companies": [
            "Tesla", "Spacex", "Neuralink"
         ]
      }
      for (var i in obj.companies) {
         res1 += obj.companies[i] + "</br>"
      }
      document.write("Before change: " +" "+res1);
      obj.companies[0] = "SolarCity";
      for (var i in obj.companies) {
         res2 += obj.companies[i] + "</br>"
      }
      document.write("After change:" +" "+res2);
   </script>
</body>
</html>

更新于: 2022-12-07

7K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告