JavaScript的 Array 对象是用于构造数组的全局对象,数组是类似于列表的高级对象;Array 对象中还提供了各种有关数组的属性和方法,该篇将列举了 Array 对象中提供的属性和方法。
此次除了一些官方给的解释外,还将自我理解的部分、可延申拓展部分,以及示例方式给大家解说。
// 中括号方式定义数组
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 通过new实例对象方式创建数组
const countrys = new Array('中国', '俄国', '美国', '英国');
// 创建数组,并指定数组长度
const schools = new Array(5);
const peoples = []; //创建空数组
// 通过属性指定数组长度
peoples.length = 3;
//输出结果
console.log(fruits.length);
console.log(countrys.length);
console.log(schools);
console.log(peoples);
输出结果如下:
> 5
> 4
> Array [undefined, undefined, undefined, undefined, undefined]
> Array [undefined, undefined, undefined]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 获取首位元素
console.log(fruits[0]);
// 获取末尾元素
console.log(fruits[fruits.length - 1]);
输出结果如下:
> Apple
> Plum
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 遍历数组
fruits.forEach(function (item, index, array) {
console.log(item, index, array);
});
输出结果如下:
元素 索引 原数组
> Apple 0 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Pear 1 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Orange 2 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Banana 3 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> Plum 4 [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 添加元素,默认都是往末位追加元素
fruits.push('Chestnut');
console.log(fruits);
输出结果如下:
> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum', 'Chestnut' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 删除数组末位元素
fruits.pop();
console.log(fruits);
输出结果如下:
> [ 'Apple', 'Pear', 'Orange', 'Banana' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 删除数组首位元素
fruits.shift();
console.log(fruits);
输出结果如下:
> [ 'Pear', 'Orange', 'Banana', 'Plum' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 删除数组首位元素
fruits.unshift("Chestnut");
console.log(fruits);
输出结果如下:
> [ 'Chestnut', 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 获取Orange的索引值
console.log(fruits.indexOf("Orange"));
输出结果如下:
> 2
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
const countrys = new Array('中国', '俄国', '美国', '英国');
// 通过索引删除元素,这里删除 索引为1位置元素
fruits.splice(1, 1); //第1个参数为索引值,第2个参数为删除元素数量
// 从指定索引位置删除2条
countrys.splice(1, 2);
console.log(fruits);
console.log(countrys);
输出结果如下:
> [ 'Apple', 'Orange', 'Banana', 'Plum' ]
> [ '中国', '英国' ]
const fruits = ['Apple', 'Pear', 'Orange', 'Banana', 'Plum'];
// 复制一个新数组
const newFruits = fruits.slice();
console.log(fruits);
console.log(newFruits);
输出结果如下:
> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
> [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ]
length 是Array的实例属性。返回或设置一个数组中的元素个数。该值是一个无符号 32-bit 整数,并且总是大于数组最高项的下标。
const fruits = [ 'Apple', 'Pear', 'Orange', 'Banana', 'Plum' ];
// 获取数组长度
console.log(fruits.length);
//设置数组长度为2
fruits.length = 2;
// 修改数组长度后输出数组
console.log(fruits);
输出结果:
// 原数组长度
> 5
// 修改数组长度为2后,数组其他多余部分被截取,只保留前两位元素。
> [ 'Apple', 'Pear' ]