JavaScript数组常用方法有数组的插入,删除,排序…,
这篇文章整理出JavaScript数组的常用方法,
废话不多说,上干货:
1.栈结构:先进后出,从同一头进同一头出
两种方法形成栈结构:
push
格式:数组.push(参数1,参数2…);
功能:给数组的末尾添加元素;
例:
v
ar arr =["北京","上海","广州"];
arr.push("杭州");
alert(arr);
注意:push的返回值为插完元素后的长度;
pop方法
格式:数组.pop()
**参数:**没有参数
返回值:取下一个元素
**功能:**从数组的尾部取下一个元素
例:
var arr =["北京","上海","广州"];
var res = arr.pop();
alert(res);取出广州
;
2.队列结构:先进先出 从尾进,从头出
push这个push和上面的方法是一致的,不过注意使用的结构
格式:数组.push(参数1,参数2…);
**功能:**给数组的末尾添加元素;
例:
var arr =["北京","上海","广州"];
arr.push("杭州");
alert(arr);
shift
结构:数组.shift()
参数:没有参数
**功能:**从数组头部取下一个元素
返回值:取下的元素
例:
var arr =["唐朝","宋朝","元朝","清朝"];
var res = arr.shift();
alert(res);唐朝
alert(arr);宋 元 清
unshift
结构:数组.unshift(参数1,参数2…)
功能:从数组的头部开始插入元素
返回值:插入元素后数组的长度
concat():
功能:1.拷贝数组,生产新数组
2.合并数组
格式:数组.concat(数组,数据,…);
返回值:合并成的新数组,返回新数组
例:
var arr1 = [10,20,30];
var arr2 = [50,60,70];
var newarr = arr1.concat(arr2,"hello",true);
alert(newarr);
结果:10,20,30,50,60,70,hello,true
slice():
格式:数组.slice(start, end);
**功能:**可以基于当前数组获取指定区域元素[start , end) ,取出元素生成新的元素
返回值:生成新的数组,原数组不会发生任何改变。
splice():
格式: 数组.splice(start , length ,数据1,数据2…)
start:开始截取的位置
length:截取的长度
第三个元素开始:在start位置,插入的元素
功能:
1增加:
var arr = [19,23,52,53,22];
var ser =arr.splice(2,0,"hello",true);
alert(arr); //19,23,hello,true,52,53,22
alert(ser);为空 因为截取长度为0
2删除:
var arr = [19,23,52,53,22];
var ser =arr.splice(2,2);
alert(arr); //19 23 22
alert(ser);//52 53
3 修改:
先修改再增加
var arr = [19,23,52,53,22];
var ser =arr.splice(2,1,"hello");
alert(arr); //19,23,hello,53,22
alert(ser) //52
join()
格式:数组.join(字符串)
功能:将数组中的元素,用传入的拼接符,拼成一个字符串
返回值:拼接好的字符串
var arr = [12,42,52,53];
var res = arr.join("==");
alert(res); //12==42==52==53
reverse() 逆序
语法:数组.recerse():使原数组进行逆序处理
sort()数组排序
语法:数组.sort() 默认从小到大排序,按照字符串进行排序的
如果需要按照数值的大小进行排序(固定用法):
sort排序的方法也可以用冒泡排序,以及直接排序替换,看大家更喜欢哪一种。
var arr =[10,5,23,1,6];
arr.sort(function(value1 , value2){
return value1-value2;
})
alert(arr); 从小到大顺序输出
//将value1-value2 交换位置
var arr =[10,5,23,1,6];
arr.sort(function(value1 , value2){
return value1-value2;
})
alert(arr); 从大到小顺序输出
数组求平均值:
例:定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数;然后按顺序每5个数求去一个平均值,放在另一个数组中并输出
var arr = new Array(30);
for(var i = 0;i<arr.length;i++){
arr[i] = i*2 + 2;
}
var aveArr =[];
for(var i = 0;i<6;i++){
//取出要求平均值的5个元素
var newArr = arr.splice(0,5);
//splice 截取长度后,会让数组从原数组消失
var sum = 0;
for(var j=0;j<newArr.length;j++){
sum += newArr[j];
}
aveArr.push(sum/5);
}
alert(aveArr);