length、push、unshift、pop、shift、splice、sort、concat、reverse —— 数组相关知识
一、基本信息
注意:
(1)数组元素如果是字符串的话需要加引号,数字不用
(2)数组里最后一个元素后面不要加 “,” 否则会默认多一个元素
(3)数组里可以包含json数据
(4)数组里面没有元素,是空的的时候,获取结果是undefined
二、声明一个新的数组
写法1: 性能好
var arr = [ 元素1,元素2,元素3];
写法2:(写法1写法2效果一样)
var arr = new Array(1,2,3);
写法3:
var arr = new Array(); arr[1]="123";
三、获取数组信息
1、获取数组元素个数
写法:数组名称.length
alert(arr1.length);
2、获取数组第n个元素的数值
方法:数组名称[下标]
alert(arr1[0])
注意:下标的数值从0开始计数
四、数组相关方法
1、.push()往数组的最后一位添加数据
写法:数组名称.push(添加的内容)
arr.push( 'abc' );
2、.unshift()往数组第一位添加数据
写法:数组名称.unshift(添加的内容)
arr1.unshift("a");
3、.pop()删除数组的最后一个数据
写法:数组名称.pop()
arr.pop();
4、.shift()删除数组的第一个数据
写法:数组名称.shift()
arr.shift();
5、.splice()——数组的替换、添加、删除
综合写法:数组名称.splice(从哪个下标开始,删除几个,新的内容)
arr.splice(0,0,'a');
6、sort()——数组排序
写法:数组名.sort()
arr.sort();
arr2.sort(function ( a, b ) { return a - b; });
7、.concat()——合并数组
写法:数组1.concat(数组2,数组3,数组4,……)
arr1.concat( arr2, arr3 )
8、.reverse()——颠倒数组里所有的元素
写法:数组.reverse()
arr1.reverse();
9、快速清空数组的方法
(1)数组长度设为0
var arr = [ 1,2,3 ]; arr.length = 0;
(2)数组重新赋值为空(效率高)
var arr = [ 1,2,3 ]; arr = [];
10、设置数组的长度.length
写法1:
描述:在括号里直接写想要的长度的数字
注意:如果var arr = new Array('3')则表示数组长度为1,内容为3
var arr = new Array(4); alert( arr.length ); //4
写法2:
var arr = [ a,b,c ]; arr.length = 1; alert(arr) //a
11、把数组最后一个放到数组第一个
var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ]; arr.unshift(arr.pop()); //[ 'Leo' ,'TM', '钟毅', '张森', '杜鹏']
12、把数组第一个放到最后一个
var arr = [ 'TM', '钟毅', '张森', '杜鹏', 'Leo' ]; arr.push(arr.shift()) // [ '钟毅', '张森', '杜鹏', 'Leo' ,'TM'];
13、数组去重
(1)splice()方法
var arr = [ 1,2,2,4,2 ]; for ( var i=0; i<arr.length; i++ ) { for ( var j=i+1; j<arr.length; j++ ) { if ( arr[i] == arr[j] ) { //如果两个数相等 arr.splice( j, 1 ); //删除下标为j的那一位 j--; //因为删了一个所以数组元素少了所以j-- } } } alert( arr );