Javascript学习---Array数组

数组基本内容


声明

在Javascript里有两种方式来声明一个空的数组,例如:
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'; // now ["Apple", "Orange", "Pear"]

fruits[3] = 'Lemon'; // now ["Apple", "Orange", "Pear", "Lemon"]


数组长度

数组提供的length属性来记录数组的长度,例如:
let fruits = ["Apple", "Orange", "Plum"];

alert( fruits.length ); // 3


数组存储类型

理论上数组可以存储所有类型的元素,例如:
// mix of values
let arr = [ 'Apple', { name: 'John' }, true, function() { alert('hello'); } ];

// get the object at index 1 and then show its name
alert( arr[1].name ); // John

// get the function at index 3 and run it
arr[3](); // hello

ps:尾部逗号

因为数组也是对象,如果我们需要对数组进行添加或移除元素,我们可以在最后一个元素后面添加逗号,例如:
let fruits = [
  "Apple",
  "Orange",
  "Plum",
];

数组方法pop/push, shift/unshift

数组提供了内置方法pop/push,shift/unshift来对数组中的元素进行操作。
(1)push:向数组的尾部添加元素;
(2)shift:从数组的头部取走一个元素并返回,此时数组中第二个元素就变成第一个了;
(3)pop:从数组尾部取走一个元素并返回;
(4)unshift:向数组头部添加元素;

pop:

let fruits = ["Apple", "Orange", "Pear"];

alert( fruits.pop() ); // remove "Pear" and alert it

alert( fruits ); // Apple, Orange

push:

let fruits = ["Apple", "Orange"];

fruits.push("Pear");

alert( fruits ); // Apple, Orange, Pear

shift:

let fruits = ["Apple", "Orange", "Pear"];

alert( fruits.shift() ); // remove Apple and alert it

alert( fruits ); // Orange, Pear

unshift:

let fruits = ["Orange", "Pear"];

fruits.unshift('Apple');

alert( fruits ); // Apple, Orange, Pear


添加多个元素:

let fruits = ["Apple"];

fruits.push("Orange", "Peach");
fruits.unshift("Pineapple", "Lemon");

// ["Pineapple", "Lemon", "Apple", "Orange", "Peach"]
alert( fruits );

遍历

数组可以采用以下几种方式进行遍历,例如:
let arr = ["Apple", "Orange", "Pear"];

for (let i = 0; i < arr.length; i++) {
  alert( arr[i] );
}
let fruits = ["Apple", "Orange", "Plum"];

// iterates over array elements
for (let fruit of fruits) {
  alert( fruit );
}
let arr = ["Apple", "Orange", "Pear"];

for (let key in arr) {
  alert( arr[key] ); // Apple, Orange, Pear
}

高级部分


关于length关键字

数组提供了length属性来查看数组的长度,但是要注意的是length记录的不是元素的个数,而是数组索引号的个数,例如:
let fruits = [];
fruits[123] = "Apple";

alert( fruits.length ); // 124
length属性允许我们对数组进行裁剪,这个过程是不可逆的,例如:
let arr = [1, 2, 3, 4, 5];

arr.length = 2; // truncate to 2 elements
alert( arr ); // [1, 2]

arr.length = 5; // return length back
alert( arr[3] ); // undefined: the values do not return


new Array()

声明数组除了用方括号"[]",还有另外一种方式,例如:
let arr = new Array("Apple", "Pear", "etc");
但一般情况下我们用[]比较多,因为方便。

在使用new Array()时,我们可以传入数字来表示数组的长度,此时数组的元素都为undefined,例如:
let arr = new Array(2); // will it create an array of [2] ?

alert( arr[0] ); // undefined! no elements.

alert( arr.length ); // length 2


多维数组

就像其他语言一样,Javascript也提供了多维数组,例如:
let matrix = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

alert( matrix[1][1] ); // the central element


toString()

数组默认实现了toString()方法,例如:
let arr = [1, 2, 3];

alert( arr ); // 1,2,3
alert( String(arr) === '1,2,3' ); // true
toString()返回的结果是字符串并且是以逗号为分隔的数组元素集。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值