注册/登录

一篇文章带你了解JavaScript json 数组

开发 前端
简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。

[[374557]]

简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。

一、数组作为JSON对象

  1. "Ford""BMW""Fiat" ] 

在JSON中的数组,几乎和在JavaScript中数组相同。

在JSON中,数组的值必须是字符串,数字、对象、数组、布尔值或空.

JavaScript中,数组的值可以是以上所有,再加上其他任何有效的JavaScript表达式,包括函数、日期、和undefined。

二、JSON对象中的数组

数组可以是对象属性的值:

  1. "name":"John"
  2. "age":30, 
  3. "cars":[ "Ford""BMW""Fiat" ] 

1. 访问数组的值

使用索引号访问数组值:

  1. x = myObj.cars[0]; 

完整代码:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3.  
  4.     <head> 
  5.         <meta charset="UTF-8"
  6.         <title>项目</title> 
  7.     </head> 
  8.  
  9.     <body style="background-color: aqua;"
  10.  
  11.         <p id="demo"></p> 
  12.  
  13.         <script> 
  14.             myObj = { 
  15.                 "name""John"
  16.                 "age": 30, 
  17.                 "cars": ["Ford""BMW""Fiat"
  18.             } 
  19.             x = myObj.cars[0]; 
  20.             document.getElementById("demo").innerHTML = x; 
  21. </script> 
  22.  
  23.     </body> 
  24.  
  25. </html> 

2. 遍历数组

你可以使用for-in循环遍历数组:

  1. for (i in myObj.cars) { 
  2.     x += myObj.cars[i]; 

或者可以使用for循环:

  1. for (i = 0; i < myObj.cars.length; i++) { 
  2.     x += myObj.cars[i]; 

三、JSON对象中的嵌套数组

数组值也可以是另一个数组,甚至另一个JSON对象:

  1. myObj = { 
  2.     "name":"John"
  3.     "age":30, 
  4.     "cars": [ 
  5.         { "name":"Ford""models":[ "Fiesta""Focus""Mustang" ] }, 
  6.         { "name":"BMW""models":[ "320""X3""X5" ] }, 
  7.         { "name":"Fiat""models":[ "500""Panda" ] } 
  8.     ] 
  9.  } 

访问数组内部的数组, 使用for-in loop循环:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.   <meta charset="UTF-8"
  5.   <title>项目</title> 
  6. </head> 
  7. <body style="background-color: aqua;"
  8.  
  9.   <p>Looping through arrays inside arrays.</p> 
  10.  
  11.   <p id="demo"></p> 
  12.   <script> 
  13.  
  14.     var myObj, i, j, x = ""
  15.     myObj = { 
  16.         "name":"John"
  17.         "age":30, 
  18.         "cars": [ 
  19.             { "name":"Ford""models":[ "Fiesta""Focus""Mustang" ] }, 
  20.             { "name":"BMW""models":[ "320""X3""X5" ] }, 
  21.             { "name":"Fiat""models":[ "500""Panda" ] } 
  22.         ] 
  23.     } 
  24. /*访问数组内部的数组, 使用for-in loop循环*/ 
  25.     for (i in myObj.cars) { 
  26.         x += "<h1>" + myObj.cars[i].name + "</h1>"
  27.         for (j in myObj.cars[i].models) { 
  28.             x += myObj.cars[i].models[j] + "<br>"
  29.         } 
  30.     } 
  31.  
  32.     document.getElementById("demo").innerHTML = x; 
  33. </script> 
  34. </body> 
  35. </html>    

1. 修改数组值

使用索引号修改数组:

  1. myObj.cars[1] = "Mercedes"

完整代码:

  1. <!DOCTYPE html> 
  2. <html lang="en"
  3. <head> 
  4.   <meta charset="UTF-8"
  5.   <title>项目</title> 
  6. </head> 
  7. <body> 
  8.  
  9.   <p id="demo"></p> 
  10.  
  11. <script> 
  12.  
  13.     var myObj, i, x = ""
  14.     myObj = { 
  15.         "name":"John"
  16.         "age":30, 
  17.         "cars":[ "Ford""BMW""Fiat" ] 
  18.     }; 
  19.     myObj.cars[1] = "Mercedes"
  20.  
  21.     for (i in myObj.cars) { 
  22.         x += myObj.cars[i] + "<br>"
  23.     } 
  24.  
  25.     document.getElementById("demo").innerHTML = x; 
  26. </script> 
  27.  
  28.  
  29. </body> 
  30. </html> 

2. 删除数组中的项目

使用delete关键字从数组中删除:

  1. delete myObj.cars[1]; 

本文基于JavaScript基础,讲解了JSON数组中,如何以数组作为JSON的对象 ,对象中如何去嵌套数组,常见的修改,删除数组,都做了详细的讲解。

希望大家可以根据文章的内容,积极尝试,有时候看到别人实现起来很简单。但是到自己动手实现的时候,总会有各种各样的问题,切勿眼高手低,勤动手,才可以理解的更加深刻。

代码很简单,希望能够帮助你。

本文转载自微信公众号「前端进阶学习交流」,可以通过以下二维码关注。转载本文请联系前端进阶学习交流公众号。

责任编辑:武晓燕 前端进阶学习交流
点赞
收藏