数组是包含子项并由索引迭代子项的一种对象,索引从零开始。
需要注意的是,如果传入的是数字类型的值时,以上2种创建数组的方式是有所不同的。
var bar = new Array( 100 );
|
数组的常用方法
.length属性可以确定数组中元素的数量。
var myArray = [ "hello", "world", "!" ];
console.log( myArray.length );
|
你可以使用.length属性对数组进行遍历。
var myArray = [ "hello", "world", "!" ];
for ( var i = 0; i < myArray.length; i = i + 1 ) {
console.log( myArray[ i ] );
|
.concat()方法用于串联两个或更多的数组。
var myArray = [ 2, 3, 4 ];
var myOtherArray = [ 5, 6, 7 ];
var wholeArray = myArray.concat( myOtherArray );
|
.join()方法用于创建一个由数组内元素组成的字符串,可以指定每个元素之间的分隔符,如果没有指定那么默认为逗号。
var myArray = [ "hello", "world", "!" ];
console.log( myArray.join() );
console.log( myArray.join( " " ) );
console.log( myArray.join( "!!" ) );
console.log( myArray.join( "" ) );
|
.push()方法将元素添加到数组的末尾并扩展这个数组,你可以使用索引来设置数组元素的值,但是索引有可能是不确定的,那么使用该方法添加元素到数组中是比较安全的做法。
.pop()方法用于移除数组中的最后一个元素,与.push()方法的功能相反。
var myArray = [ "world" , "hello" ];
|
.shift()方法用于删除数组的第一个元素,与.push()方法配合使用,可以将数组当做队列使用。
.slice()方法用于提取数组的一部分生成一个新的数组,这个方法需要一个参数,这个参数是数组提取的开始序号。
var myArray = [ 1, 2, 3, 4, 5, 6, 7, 8 ];
var newArray = myArray.slice( 3 );
|
.splice()方法用于移除一部分元素并新增一部分元素,该方法至少需要3个参数。
myArray.splice( index, length, values, ... );
|
index:开始序号
length:被移除元素的数量
values:插入到指定序号位置的值
var myArray = [ 0, 7, 8, 5 ];
myArray.splice( 1, 2, 1, 2, 3, 4 );
|
.sort()方法用于数组排序,它需要一个参数,这个参数是一个比较方法,如果没有这样的方法,那么默认按正序排列。
var myArray = [ 3, 4, 6, 1 ];
function descending( a, b ) {
var myArray = [ 3, 4, 6, 1 ];
myArray.sort( descending );
|
descending方法的返回值是非常重要的。如果返回值是小于零的,那么a的序号是在b的前面,如果返回值是大于0的,则反之,如果返回值是等于0 的,那么两个元素的索引是相同的。
.unshift()方法用于在数组的第一个位置插入元素。
.forEach()方法用于遍历数组。这个方法有三个参数,分别是Element(元素)、Index(元素在数组中的序号)和Array(数组) 。
function printElement( elem ) {
function printElementAndIndex( elem, index ) {
console.log( "Index " + index + ": " + elem );
function negateElement( elem, index, array ) {
myArray = [ 1, 2, 3, 4, 5 ];
myArray.forEach( printElement );
myArray.forEach( printElementAndIndex );
myArray.forEach( negateElement );
|