程序猿阵线联盟-汇总各类技术干货Web前端之路让前端飞

JavaScript数组创建及常见方法汇总

2018-06-05  本文已影响55人  张培跃

数组不仅仅在JavaScript中扮演着非常重要的角色,而且在其它的程序语言中的重要性也是不言而喻的。数组在面试的过程中被提及的频率是非常高的,同时JavaScript中的数组与其他语言中的的数组还是有些区别的。

创建数组
/*************创建一个空的数组**************/
var arr1=new Array();//创建一个空的数组
console.log(arr1);//[]
arr1[0]="张三";//设置数组下标0的值为张三
arr1[1]="李四";//设置数组下标1的值为李四
console.log(arr1);//[ '张三', '李四' ]
console.log(arr1.length);//2
/*************创建指定长度的数组************/
var arr2 = new Array(2);//创建一个长度为2的数组
arr2[0]="red";//arr2下标0的值为"red"
arr2[1]="yellow";//arr2下标1的值为"yellow"
arr2[2]="green";//arr2下标2的值为"green",arr2声明长度为2,但可以添加超过其指明长度的元素
console.log(arr2);//[ 'red', 'yellow', 'green' ]
/*********创建指定数组初始值的数组*********/
var arr3 = new Array("laoLiu","laoTie","laoWang");
console.log(arr3.length);//3
console.log(arr3);//[ 'laoLiu', 'laoTie', 'laoWang' ]
//其实即为Array的简化写法
var arr1 = []; //创建一个空数组
var arr2 = [20]; // 创建一个长度为1的数组
var arr3 = ["red","yellow","green"]; // 创建一个具有初始值的数组
arr3[arr3.length] = "blue"; //下标3处(数组尾部)添加一项"blue"
arr3[1]="gold";//修改下标为1的值为"gold"

//注:数组的length属性是可修改的!
arr3.length = arr3.length-1; //将数组的最后一项删除
console.log(arr3);// ["red","gold","green"]
数组常见方法
var arr = ["red"];
var len=arr.push("blue");//尾部添加一个元素
console.log(len,arr);//2, [ 'red', 'blue' ]
len=arr.push("gold","white");//尾部添加多个元素
console.log(len,arr);//4 ,[ 'red', 'blue', 'gold', 'white' ]
var arr = ["red"];
var len=arr.unshift("blue");//头部添加一个元素
console.log(len,arr);//2, [ 'blue', 'red' ]
len=arr.unshift("gold","white");//头部添加多个元素
console.log(len,arr);//4 ,[ 'gold', 'white', 'blue', 'red' ]
var arr = ["red","yellow","green"];
var item=arr.pop();//移除arr最后一项green
console.log(item);//green
console.log(arr.length);//2
console.log(arr);//[ 'red', 'yellow' ]
var arr = ["red","yellow"];
var item=arr.shift();//移除arr第一项red
console.log(item);//red
console.log(arr);//[ 'yellow' ]
item=arr.shift();//继续移除第一项
console.log(item);//yellow
console.log(arr);//[ ]
item=arr.shift();//arr已为空数组,但我还要继续shift
console.log(item);//undefined
console.log(arr);//[ ]
var arr=[2,4,6,8,10];
console.log(arr.reverse());//[ 10, 8, 6, 4, 2 ]
console.log(arr);//[ 10, 8, 6, 4, 2 ]
//连接多个元素
var arr = [1,2,3];
console.log(arr.concat(4,5));//[ 1, 2, 3 , 4, 5]
console.log(arr);//[ 1, 2, 3 ]
//连接数组
var arr2 = [1,2,3];
console.log(arr2.concat([4,5],[6,7]));//[ 1, 2, 3, 4, 5, 6, 7 ]
console.log(arr2);//[ 1, 2, 3 ]
var arr = [1,2,3,4,5,6];
var arr2 = arr.slice(1);
var arr3 = arr.slice(1,3);
var arr4 = arr.slice(1,-2);
var arr5 = arr.slice(-3,-1);
//原数组没有发生变化
console.log(arr); //[ 1, 2, 3, 4, 5, 6 ]

//返回从下标1到数组最后的项
console.log(arr2); //[ 2, 3, 4, 5, 6 ]

//返回开始下标为1,结束下标(不包括3)之间的元素。
console.log(arr3); //[ 2, 3 ]

//下标为负数时,将负数加上数组的长度6,来替换该位置的数,所以应与arr.slice(1,4)的结果一致
console.log(arr4); //[ 2, 3, 4 ]

//负数与数组长度相加,替换位置的数字,即与arr.slice(3,5)的结果相同。
console.log(arr5); //[ 4, 5 ]
var arr=["red","yellow","green"];
//指定"-"为分隔符,进行分隔
console.log(arr.join("-"));//red-yellow-green
//未指定分隔符,返回字符串默认以,进行分隔
console.log(arr.join());//red,yellow,green
//对原数组无影响
console.log(arr);//[ 'red', 'yellow', 'green' ]
var arr=[2,4,6,8,10];
var arr2=arr.splice(0,2);//从下标0开始删除,删除2个元素
console.log(arr2);//[ 2, 4 ]
console.log(arr);//[ 6, 8, 10 ]

插入:可以向指定位置插入任意数量的元素,需要提供3个参数:起始位置、0(要删除的元素数量)、插入的元素

var arr=[2,3];
//从数组第2个位置插入3,4
var arr2=arr.splice(2,0,3,4);
console.log(arr2);//[]
console.log(arr);//[2,3,3,4]

替换:其实就是先删除,然后再插入

var arr=[2,3];
//将3替换为4,5
//先删除元素3,然后在3的位置插入4,5
var arr2=arr.splice(1,1,4,5);
console.log(arr2);//[3]
console.log(arr);//[ 2, 4, 5 ]
var arr=[2,3,6,7,9];
arr.forEach(function(v,i,a){
    console.log(v+"|"+i+"|"+(a==arr));
})
// 结果:
// 2|0|true
// 3|1|true
// 6|2|true
// 7|3|true
// 9|4|true
var arr="day day up";
//使用空格符作为分隔符
console.log(arr.split(" "));//[ 'day', 'day', 'up' ]
//使用字符串"a"作为分隔符
console.log(arr.split("a"));//[ 'd', 'y d', 'y up' ]
console.log(arr);//"day day up"
上一篇 下一篇

猜你喜欢

热点阅读