js_数组
一.定义
数组(array)是按次序排列的一组值。每个值的位置都有编号(从 0开始),整个数组用方括号表示。
var arr = [1,2,'hh',...];
下标从0开始!
注意:
-
可以先定义,后赋值
var arr = []; arr[0] = 1; arr[1] = 2; arr[2] = 'hh';
-
任何类型的数据都可以放到数组中
-
length属性
返回数组的成员数量
-
可以根据下标,获取数组中的相应元素,如果下标大于数组元素个数,则返回undefined!
二.数组的遍历
-
for
-
while
-
for...in...
var arr = [1,2,'hh']; for (var i in arr) { console.log(arr[i]); } //1 2 hh
三.数组的方法
-
静态方法:Array.isArray()
返回一个布尔值,表示参数是否为数组。它可以弥补 typeof 运算符的不足
-
push()方法
用于在数组的末端添加一个或多个元素,并返回添加新元 素后的数组长度。注意,该方法会改变原数组
var arr = []; var newlength = arr.push(1); //newlength = 1 newlength = arr.push(2,'hh'); //newlength = 3 console.log(arr); //[1,2,'hh']
-
pop()方法
用于删除数组的最后一个元素,并返回该元素。注意,该方 法会改变原数组
var arr = []; arr.push(1,2,'hh'); var ch = arr.pop(); //ch = 'hh' console.log(ch); ch = arr.pop(); //ch = 2 console.log(ch); ch = arr.pop(); //ch = 1 console.log(ch);
-
shift()方法
用于删除数组的第一个元素,并返回该元素。注意,该方 法会改变原数组
var arr = [1,2,'hh']; var ch = arr.shift(); //ch = 1 console.log(ch); ch = arr.shift(); //ch = 2 console.log(ch); ch = arr.shift(); //ch = 'hh' console.log(ch);
-
unshift()方法
用于在数组的第一个位置添加元素,并返回添加新元素后 的数组长度。注意,该方法会改变原数组
var arr = []; var ch = arr.unshift('hh'); //ch = 1 console.log(ch); ch = arr.unshift(2); //ch = 2 console.log(ch); ch = arr.unshift(1); //ch = 3 console.log(ch); console.log(arr);
-
join()方法
以指定参数作为分隔符,将所有数组成员连接为一个字符串 返回。如果不提供参数,默认用逗号分隔
注意:
-
如果数组成员是 undefined 或 null 或空位,会被转成空字符串
-
数组的 join 配合字符串的 split 可以实现数组与字符串的互换
var arr = [1,2,'hh']; console.log(arr.join()); //1,2,hh console.log(arr.join("")); //12hh console.log(arr.join("|")); //1|2|hh arr = [1,2,'hh',null,undefined]; console.log(arr.join()); //1,2,hh,, console.log(arr.join('|')); //1|2|hh||
-
-
concat()方法
用于多个数组的合并。它将新数组的成员,添加到原数组 成员的后部,然后返回一个新数组,原数组不变
除了数组作为参数, concat 也接受其他类型的值作为参数,添加到目 标数组尾部。
主要用于:上拉加载,合并数据
var arr1 = ['Hello']; var arr2 = ['World!']; var res = arr1.concat(arr2); console.log(res); //['Hello','World!'] console.log(arr1); //['Hello'] console.log(arr2); //['World!'] var arr = [1,2,3]; console.log(arr.concat(4,5,6,[7,8,9])); //[1,2,3,4,5,6,7,8,9]
-
reverser()方法
用于颠倒排列数组元素,返回改变后的数组。注意,该方 法将改变原数组
var arr = [1,2,3]; arr.reverse() console.log(arr); //[3,2,1]
-
indexOf()方法
返回给定元素在数组中第一次出现的位置,如果没有出 现则返回 -1
还可以接受第二个参数,表示搜索的开始位置
var arr = [1,2,3,2,3,3]; console.log(arr.indexOf(2)); //1 console.log(arr.indexOf(3)); //2 console.log(arr.indexOf(1,2)); //-1