前言:
前天刚做完一个公司的校招笔试题,其中有考到数组的基础方法,故今天在此对其做一番总结,从而温故而知新。
一、数组的创建方式
1. 通过’[]’
1 2 3 4
| (1)var arr1 = [];
(2)var arr2 = [1, 2, 3];
|
2. 通过new Array()
1 2 3 4 5 6 7 8 9 10
| (1)var arr3 = new Array();
(2)var arr4 = new Array();
(3)var arr5 = new Array(1, 1, 2, 3, 4);
(4)var arr6 = new Array([3]);
(5)var arr7 = new Array([1, 2], [3, 4]);
|
注:两种创建方式的区别
- 通过’[]’是直接告诉处理器创建一个新的运行时数组,无需进行其他处理
- 通过new Array()是让解释器直接查找执行上下文,找到构造函数,并调用它,从而生成数组对象。
- 推荐使用’[]’
二、Array 对象属性
1. constructor: 返回对创建此对象的数组函数的引用
2. length: 设置或返回元素的数目
3. prototype: 使有能力向对象添加属性和方法
三、Array 对象方法
分两类:根据是否对原数组产生影响
1. 不改变原数组本身
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| (1)concat() : 连接两个或更多的数组,并返回结果
(2)join(): 把数组所有元素通过join传入的参数进行连接,结果返回一个元素拼接起来的字符串
(3)slice(): 从某个已有的数组返回选定的元素
语法:array.slice(start, end)
(4)toSource(): 返回该对象的源代码
兼容性:只有Gecko核心的浏览器才支持(比如 Firefox), 故IE/Safari/Chrome/Opera均不支持
(5)toString(): 把数组转换成字符串,并返回结果
var b = [1,12345678]
b.toString(); (6)toLocaleString(): 把数组转换为本地字符串,并返回结果
var b = [1,12345678]
b.toLocaleString(); (7)valueOf(): 返回数组对象的原始值
|
2. 改变原数组本身
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| (1)pop(): 删除并返回数组的最后一个元素
(2)push(): 向数组的末尾添加一个或多个元素,并返回数组新的长度
(3)reverse(): 颠倒(原)数组中元素的顺序
(4)shift(): 删除并返回数组的第一个元素
(5)unshift(): 向数组开头添加一个或更多元素,并返回新的长度
(6)sort(): 对数组的元素进行排序
语法:array.sort(sortby) (7)splice(): 删除元素,并向数组添加新元素,然后返回被删除的元素
语法: array.splice(index, number, item1, item2, ..., itemX)
|
参考链接:
http://www.w3school.com.cn/jsref/jsref_obj_array.asp