JavaScript的Array对象是用于构造数组的全局对象,数组类似于列表的高阶对象。参考:MDN链接-Array
- 创建数组: var fruits = ["Apple","Orange","Banana"];
- 通过索引访问数组元素: var apple = fruits[0];
- 遍历数组: fruits.forEach(function(item,index,array){console.log(item,index);});
- 添加元素到数组的末尾: fruits.push("Grape"); // 返回数组长度4
- 删除数组末尾的元素: fruits.pop(); // 返回被删末尾元素"Grape" || [ ].pop();返回undefined
- 添加元素到数组的头部: fruits.unshift("Strawberry"); //返回数组长度4
- 删除数组头部的元素: fruits.shift(); // 返回被删头部元素"Strawberry" || [ ].shift();返回undefined
- 找出某个元素在数组中的索引: fruits.indexOf('Banana'); // 返回索引,不存在返回-1
- 通过索引删除某个元素:fruits.splice(2,1);//删除索引2的元素,返回被删除元素的数组集合
- 复制一个数组: fruits.slice();
属性:
Array.length: Array构造函数的length属性,其值为1(注意该属性为静态属性,不是数组实例的length属性)。
Array.prototype: 通过数组的原型对象可以为所有数组对象添加属性。
方法:
Array.from(): 从类数组对象或者可迭代对象中创建一个新的数组实例。
Array.isArray(): 用来判断某个变量是否是一个数组对象。
Array.of(): 根据一组参数来创建新的数组实例,支持任意的参数数量和类型。
数组实例:
所有数组实例都会从Array.prototype继承属性和方法。修改Array的原型会影响到所有的数组实例。
属性:
Array.prototype.constructor: 所有的数组实例都继承了这个属性,它的值就是Array,表明了所有的数组都是由Array构造出来的。
Array.prototype.length: 上面说了,因为Array.prototype也是个数组,所以它也有length属性,这个值为0,因为它是个空数组。