JavaScript中15种数组的使用方法总结

本文总结了JavaScript中的15种数组的使用方法,
如果需要ES6中的数组使用的方法:findfiltereverysomeincludesreduce,请点击这里

1.push 向数组的后面添加一项或多项
参数可以是一个也可以是多个,
返回值为新数组的长度
修改原数组

var ary = [1,2];
var num = ary.push('a');
console.log(num); //3
console.log(ary); //[1, 2, "a"]

2.pop 删除数组的最后一项
没有参数
返回值为被删除的项
修改原数组

var ary = ["a", "b",1,2];
var a = ary.pop();
console.log(ary);//["a", "b", 1]
console.log(a); //2

3.unshift 往数组的前面添加一项或多项
参数可以是一个也可以是多个
返回值为新数组的长度
修改原数组

var ary = ["a", "b",1,2];
var num = ary.unshift('3','4');
console.log(num); //6
console.log(ary); //["3", "4", "a", "b", 1, 2]

4.shift 删除数组的第一项
不需要参数
返回值为被删除的那一项
修改原数组

 var ary = ["a", "b","c","d"];
 var ary1 = ary.shift();
console.log(ary1); //a
console.log(ary); //["b", "c", "d"]

5.splice 可以往数组的某一个位置添加一项或多项,还可以删除和替换项
返回值是个数组,数组中为被删除的项
修改原数组
参数:
1个参数,ary.splice(0),从0开始删除到最后
2个参数,ary.splice(1, 2), 1是索引,2删除的个数
多个参数,ary.splice(1, 2, “x”, “y”…),1是索引,2是删除的个数,“x”,“y”,…添加到原来删除的位置;

6.indexOf 返回字符串或数组中检索指定字符第一次出现的位置,不存在返回下标-1,存在返回第一次匹配的索引值
参数:被查询的项;
返回值:第一次匹配的索引;不存在返回下标-1;
不修改原数组;

7.lastIndexOf 返回字符串或数组中检索指定字符最后一次出现的位置,不存在返回下标-1,存在返回第一次匹配的索引值
参数为被查询的项
返回值:索引值,不存在返回下标-1
不修改原数组

var array = ['abc','def','xyz','def'];
var f = array.indexOf('def');
var l = array.lastIndexOf('def');
console.log(f); //1
console.log(l); //3
console.log(array); //["abc", "def", "xyz", "def"]

8.slice 截取
返回值为截取的数组
不修改原数组
没有参数表示数组的克隆
参数为负数时,默认加上数组的长度处理成正数

var arr = [1,2,3,4,5,6,7];
var newarr = arr.slice(1,5);  //包前不包后
var newarr1 = arr.slice(-3,-1);
console.log("arr" + arr);   //1,2,3,4,5,6,7
console.log("newarr" + newarr); //2,3,4,5
console.log("newarr1" + newarr1);

9.sort 排序 修改原数组
返回值为排序后的数组
没有参数时只能排序数组成员项是相同位数的数字

var arr = [1,100,33,77,500,66];
arr.sort();
console.log(arr);//[1, 100, 33, 500, 66, 77]
      
arr.sort(function(a,b){
	//从小到大排
	return a-b;
	//从大到小排
	return b-a;
 });
console.log(arr);

10.reverse 倒序 不需要传参数
修改原数组

var arr = [1,100,33,77,500,66];
arr.reverse();
console.log(arr);

11.concat 不修改原数组,返回值为拼接的新数组

var arr = [1,2];
var arr1 = arr.concat([3,4],[5,6],[7,8]);
console.log(arr1);

concat不传参数时表示数组的克隆

var arr2 = [1,3,5];
var arr3 = arr2.concat();
console.log(arr2 == arr3);  //false
console.log(arr2);//[1, 3, 5]
console.log(arr3); //[1, 3, 5]
//这也是复制数组的方法
var arr4 = [100,200,300];
var arr5 = arr4;
console.log(arr4 == arr5); //true
console.log(arr5);

12.join 将数组拼接成字符串,
不修改原数组

var ary = ['2019','06','10']
var ary1 = ary.join("-")
console.log(ary1);//2019-06-10

不传参数时默认用逗号隔开

var ary2 = ary.join();
console.log(ary2);//2019,06,10

var ary3 = ary.join("");
console.log(ary3);//20190610

13.map 映射 根据原来数组的每一项映射一个新数组
参数为一个回调函数
返回值为映射得到的新数组,不修改原数组
数组的length是几,回调函数就执行几次

var ary = ["a","b","c","d","e"];
var ary1 = ary.map(function(v,i,arr){ 
	//v value  遍历数组的每一项
	console.log(v);
	//i index  遍历数组的索引
	console.log(i);
	//arr 原数组
	console.log(arr);

	return v+'o'; //["ao", "bo", "co", "do", "eo"]
	//返回值为新数组中对应的每一项
});
console.log(ary1);

14.forEach 用来遍历数组
参数为一个回调函数
特点:没有返回值 不修改原数组
数组的length是几,回调函数就执行几次

var arry = [11,22,33,44];
var arry1 = arry.forEach(function(v,i,arr){
	 //v value  遍历数组的每一项
	console.log(v);
	//i index  遍历数组的索引
	console.log(i);
	//arr 原数组
	console.log(arr);

	 return v+'o'; //没有返回值
 });
console.log(arry1); //undefined

forEach相当于for循环

for (var i = 0; i < arry.length; i++) {
	arry[i];
	i;
	arry;
}

15.toString 将数组转化成字符串 不修改原数组
不需要参数,返回值是一个字符串

var array = ["q","w","e","r"];
var array1 = array.toString();
console.log(array1);//q,w,e,r

注意啦:
类数组不能使用数组的方法
类数组指arguments,document.getElementsByTagName获取的类数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值