JavaScript Array也类似于一种数据类型,用于将一个或多个相似类型或不同类型的值存储在一起。它就像一个容器,用来在单个变量中存储值。我们可以使用数组来存储字符串类型、整数类型、对象或JavaScript中任何其他有效数据类型的值,或者所有类型的值。
JavaScript中的数组“不”提供连续的内存位置来存储其值。在JavaScript中,我们不必在声明数组时提供数组的长度,是的,我们可以简单地声明一个空数组,然后在其中添加我们想要的任意多的元素。数组是类似列表的对象,在其原型中定义了许多内置函数,用于访问元素、添加元素、遍历数组等。
JavaScript没有特定的数组数据类型来定义数组。但是,有一个预定义的Array对象和它的方法来处理数组。数组在JavaScript中也有属性,比如length,它不是一个函数,而是一个属性。
我们可以通过使用new关键字或使用数组文字表示法(即)来创建JavaScript数组
1. JavaScript 数组定义
1.1 使用[]中括号来定义数组
var arr = [ ]; // empty array
var fruits = ["mango","apple","orange","guava"]; // Array having elements
<script>
var arr = ["Yamaha","Honda","KTM"];
console.log(arr.length)
</script>
1.2 使用new 来创建数组
当我们不知道要插入数组的元素的确切数目时,就创建一个空数组。
可以使用new关键字创建空数组。
然后可以使用push()方法将元素添加到数组的末尾,或者使用unshift()方法将元素添加到数组的前面。在JavaScript中有许多不同的方式向数组中添加数据。
let arr = new Array(); // empty array
let arr = new Array(10); // array of 10 elements size 这里是指数组的长度
let arr = new Array("Java","C","C++"); // array with 3 values
<script>
let fruits = new Array("mango","apple","banana","guava");
console.log(fruits);
</script>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript">
//创建一个数组
//var arr = new Array();
//使用字面量来创建数组
//语法:[]
//var arr = [];
//console.log(typeof arr);
//使用字面量创建数组时,可以在创建时就指定数组中的元素
var arr = [1,2,3,4,5,10];
//console.log(arr[3]);
//使用构造函数创建数组时,也可以同时添加元素,将要添加的元素作文构造函数的参数传递
//元素之间使用,隔开
var arr2 = new Array(10,20,30);
//console.log(arr2);
//创建一个数组数组中只有一个元素10
arr = [10];
//创建一个长度为10的数组
arr2 = new Array(10);
//console.log(arr2.length);
//数组中的元素可以是任意的数据类型
arr = ["hello",1,true,null,undefined];
//也可以是对象
var obj = {name:"孙悟空"};
arr[arr.length] = obj;
arr = [{name:"孙悟空"},{name:"沙和尚"},{name:"猪八戒"}];
//也可以是一个函数
arr = [function(){alert(1)},function(){alert(2)}];
//console.log(arr);
//arr[0]();
//数组中也可以放数组,如下这种数组我们称为二维数组
arr = [[1,2,3],[3,4,5],[5,6,7]];
console.log(arr[1]);
</script>
</head>
<body>
</body>
</html>
1.3 数组总结
创建一个空数组有两种语法:
let arr = new Array();
let arr = [];
绝大多数情况下使用的都是第二种语法。我们可以在方括号中添加初始元素:
let fruits = ["Apple", "Orange", "Plum"];
数组元素从 0 开始编号。
我们可以通过方括号中的数字获取元素:
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits[0] ); // Apple
alert( fruits[1] ); // Orange
alert( fruits[2] ); // Plum
可以替换元素:
fruits[2] = 'Pear'; // 现在变成了 ["Apple", "Orange", "Pear"]
……或者向数组新加一个元素:
fruits[3] = 'Lemon'; // 现在变成 ["Apple", "Orange", "Pear", "Lemon"]
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits.length ); // 3
也可以用 alert
来显示整个数组。
let fruits = ["Apple", "Orange", "Plum"];
alert( fruits ); // Apple,Orange,Plum
数组可以存储任何类型的元素。
例如:
// 混合值
let arr = [ 'Apple', { name: 'John' }, true, function() { alert('hello'); } ];
// 获取索引为 1 的对象然后显示它的 name
alert( arr[1].name ); // John
// 获取索引为 3 的函数并执行
arr[3](); // hello
以逗号结尾
数组就像对象一样,可以以逗号结尾:
let fruits = [
"Apple",
"Orange",
"Plum",
];
因为每一行都是相似的,所以这种以“逗号结尾”的方式使得插入/移除项变得更加简单。