如何在 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>
广告