9.1 Array()对象概要
数组是一组 按序排列的值,创建数组的目的通常是遍历数字索引值,从零索引开始。
数组使用数字作为查找键,而对象拥有用户自定义的属性名.JavaScript没有真正的关联数组,但对象可用于实现关联数组的功能。
var myArray = ['blue','green','orange','red'];
console.log(myArray[0])];
var myObject = {
'blue': 'blue',
'green': 'green',
'orange': 'orange',
'red': 'red'
};
console.log(myObject['blue']);
数组可以保存任何类型的值,这些值可以随时更新或删除。
如果需要一个’hash’,对象是最可用的解决方案。
Array()仅仅是一种特殊类型的Object(),也就是说,Array()实例基本上是拥有一些额外功能的Object()实例。
数组内包含的元素通常称为元素。
9.2 Array()参数
可以将数组实例的值传递给构造函数,以逗号分隔作为参数。Array()构造函数最多接收4 294 967 296个参数。
然而,如果只有一个参数发送至Array()构造函数,该值就是一个整数,那么它将被用来设置数组的长度,并且不会被用作包含在数组内的值。
var foo = new Array(1,2,3);
var bar = new Array(100);
console.log(foo[0],foo[3]);
console.log(bar.length);
9.3 Array()属性和方法
Array()属性和方法
属性:
prototype
9.4 数组对象实例属性和方法
实例属性:
constructor
index
input
length
实例方法:
pop()
push()
reverse()
shift()
splice()
sort()
inshift()
concat()
join()
slice()
9.5 创建数组
在实践中,通常所需的只有数组字面量。
不管如何定义数组,如果不为数组提供任何预定义值,仍会创建数组,只是不包含值。
9.6 数组添加以及更新
一个值可以在任何时候,添加到数组的任何索引下。
var myArray = [];
myArray[10] = 'blue';
console.log(myAarray.length);//10
console.log(myArray[0]);//undefined
由于JavaScript的动态特性以及JavaScript不是强类型的,可以随时更新数组值,包含在索引中的值可以是任何合法的JavaScript值。
myarray[10] = {color: 'blue'};
console.log(myArray[50].color);//'blue'
9.7 长度与索引
数字的索引从0开始。
9.8 定义预定长度的数组
如前所述,通过将一个整数参数传递给Array()构造函数,可以预定数组的长度,或者包含元书纸的数量。
在这种情况下,构造函数例外,他假设你想要设置数组的长度,而不是使用值来填充该数组。
var array1 = [3];
var array2 = new Array(3);
9.10 可以通过设置数组长度添加或删除值
参看9.6
数组对象的length属性可用于获取或设置一个数组的长度。如果设置的长度高于数组中实际数量,将向数组中添加undefined值。可能你不希望这样的事情发生,疆场渎职的数量设置为少于数组中的值的数量,可能会删除数组中的值。
9.11 数组包含数组(多维数组)
由于数组可以容纳任何有效的JavaScript值,因此它可以包含其他数组。那么包含封装数组的数组被认为是一种多维数组。访问封装数组是由括号链来完成的。
var myArray[[[['4th dimension']]]];
console.log(myArray[0][0][0][1]);
上述代码是非常糟糕的。
9.12 遍历数组
while循环。