JavaScript 中的数组经常使用于在单个变量中存储多个值。数组就是一组数据的集合,在内存中表现为一段连续的内存地址(保存在堆内存)。建立数组的目的就是为了保存更多的数据。html
概念:数组是一个特殊变量,一次能够容纳多个值。数组
特色:有顺序,有长度。浏览器
做用:使用单独的变量名来存储一系列的值。学习
语法以下所示:spa
var array_name = [item, item2, item3, ...];
其中 array_name
就是数组名,其实就是变量名,而数组中的元素所有是包围在中括号 []
内,元素中间使用逗号分隔。数组中的元素能够是任意类型,类型能够是不一样的。code
在 JavaScript 语言中,要建立一个数组,最经常使用的方式,咱们可使用字面量来建立。htm
建立一个简单的数组,数组名为:blog
var array1 = ["HTML", "VUE", "JAVASCRIPT", "CSS"];
代码中的空格和换行符并非重要的,声明多个值时咱们还能够跨越多行:索引
var array2 = [ "HTML", "VUE", "JAVASCRIPT", "CSS" ];
除此以外,咱们还可使用关键字 new 来建立数组:ip
var array3 = new Array(); arrs[0] = 1; arrs[1] = 2; arrs[2] = 3; console.log(array3); // 输出:[ 1, 2, 3 ]
这种方式还有另外一种简洁写法,就是直接在 Array
后面的小括号中添加值:
var array4 = new Array("xkd", "summer", "jack"); console.log(array4); // 输出:[ 'xkd', 'summer', 'jack' ]
咱们能够经过数组名以及数组下标访问数组中的元素。由于数组是有序的,所以它就会相对应有自身的序号,而这个序号就是每一个元素对应的下标(也叫作索引),数组的下标是从零开始,到数组长度减一结束 。好比说数组中第一个元素的索引为0、第二个为一、依次类推。
访问数组 name
中索引为 0 的元素的值,并输出这个值:
var username = ["Iven", "Eric", "Tony", "Hter", "John"]; console.log("数组下标为0的字符输出结果为:" + username[0]); // 输出:Iven
访问数组中的最后一个元素,并输出这个值:
var name = ["Iven", "Eric", "Tony", "Hter", "John"]; var last = name[name.length - 1]; console.log(last); // 输出:John
数组与字符串同样也有长度,咱们能够经过 length
属性获取数组的长度,数组的长度是指数组中存放的元素个数。而且数组的长度始终大于数组的最高数索引。
分别定义一个字符串和数组,而后输出这个字符串和数组的长度:
var arr1 = '新版侠课岛即将推出'; console.log("长度为:" + arr1.length); // 长度为:9 var arr2 = ["Iven", "Eric", "Tony", "Hter", "John"]; console.log("长度为:" + arr2.length); // 长度为:5
除了能够获取数组的长度,咱们还能够经过下标索引获取元素的值,格式为 数组名[下标]
。
例如咱们定义一个数组 arr,而后获取索引为 0、3 的位置所对应的值:
var arr = ["王语嫣", "段誉", "萧峰", "虚竹"]; console.log(arr[0]); // 王语嫣 console.log(arr[3]); // 虚竹
由于下标的范围是 0 到数组长度减一(arr.length-1),因此若是下标不存在,则会返回 undefined。
例如上述的数组 arr
下标最大值为 3,那么咱们获取下标为 4 的元素的值,则输出undefined:
console.log(arr[4]); // undefined
咱们还能够经过 数组名[下标] = 值
的格式给数组赋值,而若是指定下标已经有对应的值,则会把原来的值覆盖。
例如数组 arr2 中,下标为 5 的元素为 “殷离”,此时咱们使用 arr2[5] = "金毛狮王"
,则会覆盖 “殷离”的值:
var arr2 = ["周芷若", "赵敏", "张无忌", "宋青书", "灭绝师太", "殷离"]; arr2[5] = "金毛狮王"; // 把 "殷离" 替代了"金毛狮王"
而若是元组中没有指定下标元素,则会给数组新增一个元素值:
arr2[6] = "杨不悔"; // 给数组新增长了一个 "杨不悔" 的值 console.log(arr2);
在浏览器中,执行代码,输出改变后的数组arr2
:
以前其实咱们学习循环的时候就讲过数组的遍历,遍历数组最经常使用的就是 for
循环。
首先定义一个数组,而后经过 for
循环将数组以无序列表的形式遍历输出:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS_侠课岛(9xkd.com)</title> </head> <body> <div id = "xkd"> </div> <script> var lst = ["Iven", "Eric", "Tony", "Hter", "John"]; name = "<ul>"; for(i=0; i<lst.length; i++){ name += "<li>" + lst[i] + "</li>"; } name += "</ul>"; document.getElementById("xkd").innerHTML = name; </script> </body> </html>
在浏览器中打开:
上述代码中,咱们在 JavaScript 代码插入了 HTML 代码,使得数组 lst
在浏览器中的输出是一个无序列表的样式。