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