数组是按次序排列的一组数据,每个值的位置都有编号(从0开始),整个数组用方括号表示。

JavaScript数组

1、数组定义

JS 中定义数组的三种方式如下(也可先声明再赋值):

var arr = [值1,值2,值3]; // 隐式创建 var arr = new Array(值1,值2,值3); // 直接实例化 var arr = new Array(size); // 创建数组并指定长度

2、数组基本操作

数组的长度可以通过length属性来获取,并可以任意更改。

数组名.length 数组名.length = 新长度

数组中的每一个元素都可以被访问和修改,甚至是不存在的元素,无所谓越界

数组名[下标] 数组名[下标] = 新值

3、数组遍历

数组的遍历即依次访问数组的每一个元素 ,JS提供三种遍历数组的方式:

1)、普通的for循环遍历

for(var i=0; i<=数组.length-1; i++){ } 如: for(var idx=0;idx<arr.length;idx++){ console.log(arr[idx]); }

2)、for … in

for(var 下标(名称任意) in 数组名){ 数组名[下标]是获取元素 } // 下标(名称任意) 如: for(var idx in arr){ console.log(arr[idx]); }

3)、forEach

数组名.forEach(function(element,index){ // element(名称任意):元素,index(名称任意):下标 }) 如: arr.forEach(function(elem,idx){ console.log(idx + "-->" + elem); });

4、以下是必须了解的

数组在使用的时候建议大家规矩来用。在存放数据时,从下标0开始顺序的存放数组元素。

如果下标:

1.为非负整数(包括整数字符串):自动从0开始,不存在添加 undefined

2.为负数、小数、非数字符串:这些内容不计算在长度内,当成”属性”处理,相当于自定义属性。

数组非常灵活,使用数组元素。

1.下标: 非负整数(包括整数字符串):

数组.下标

数组[下标]

2.下标:负数、小数、非数字字符串:

数组[属性]

* for --> 不遍历属性 * foreach -->不遍历属性和索引中的undefined * for in -->不遍历索引中的undefined

5、数组提供的操作方法

Array对象为我们提供了一些方法,可以很方便地操作数组。

push 添加元素到最后 unshift 添加元素到最前 pop 删除最后一项 shift 删除第一项 reverse 数组翻转 join 数组转成字符串 indexOf 数组元素索引 slice 截取(切片)数组,原数组不发生变化 splice 剪接数组,原数组变化,可以实现前后删除效果 concat 数组合并 var arr = ['1','a',5,'3']; console.log(arr); arr.push(10); console.log(arr); arr.unshift('b'); console.log(arr); arr.pop(); console.log(arr); arr.shift(); console.log(arr); arr.reverse(); console.log(arr); console.log(arr.join(''')); console.log(arr); console.log(arr.indexOf('a')); console.log(arr.slice(2,5)); console.log(arr); arr.splice(1,1,'一','二'); console.log(arr); var arr1 = [0,'100']; console.log(arr.concat(arr1)); console.log(arr); console.log(arr1); console.log(arr1.(arr));