js 数组常用方法,包含ES6新增方法

数组处理是开发中经常用到的,今天总结一下日常常用的数组方法,包括数组的增删改,循环操作。

Array.push() 将一个或多个元素添加到数组的末尾,然后返回数组的新长度,会改变原数组。

let myArray = [2,4,5,7,9,12,14];
myArray.push(20);
console.log(myArray);//[2,4,5,7,9,12,14,20]

Array.unshift() 将一个或多个元素添加到数组的开头并返回数组的新长度,会改变原数组。

let myArray = [2,4,5,7,9,12,14];
myArray.unshift(0);
console.log(myArray);//[0, 2,4,5,7,9,12,14]

Array.pop() 删除数组的最后一个元素,会改变原数组。

let myArray = [2,4,5,7,9,12,14];
myArray.pop();
console.log(myArray);//[2,4,5,7,9,12]

Array.shift() 删除数组的第一个元素,会改变原数组。

let myArray = [2,4,5,7,9,12,14];
myArray.shift();
console.log(myArray);//[4,5,7,9,12,14]

Array.concat() 可以将两个或多个数组合并为一个新数组。不会改变原数组,而是创建一个新数组。

let myArray = [2,4,5,7];
let newArray = [1,2,3];
let result = myArray.concat(newArray);
console.log(result);//[2,4,5,7,1,2,3]

Array.join() 接受一个数组并连接数组的内容,默认用逗号分隔。结果放在一个字符串中。如果要使用逗号的替代方法,可以指定分隔符。

let myArray = [2,4,5,7,9,12,14];
myArray.join();//"2,4,5,7,9,12,14"
myArray.join(' ');//"2 4 5 7 9 12 14"

Array.sort() 数组排序,默认情况下,数组按升序排序,会改变原数组。

let myArray = [12, 55, 34, 65, 10];
let a = myArray.sort((a,b) => a - b); //升序排序
let b = myArray.sort((a,b) => b - a); //降序排序
console.log(a);//[10, 12, 34, 55, 65]
console.log(b);//[65, 55, 34, 12, 10]

Array.reverse() 用于反转数组中元素的顺序。这不会反转数组的内容,而只会反转顺序本身,会改变原数组。

let myArray = [2,4,5,7,9,12,14];
myArray.reverse()
console.log(myArray);//[14, 12, 9, 7, 5, 4, 2]

Array.splice() 用于插入、删除或替换数组的元素。通过指定要删除的元素的索引和数量,它修改了数组。可传多个参数,参数1是索引,参数2,是几个元素,参数3,4…表示替换,会改变原数组

let myArray = [2,4,5,7,9,12,14];
myArray.splice(2, 3);//删除从下标2开始3个元素
console.log(myArray);//[2, 4, 12, 14]
let myArray = [2,4,5,7,9,12,14];
myArray.splice(2, 3, 1, 2, 3); // 把下标2开始3个元素替换为1,2,3
console.log(myArray);//[2, 4, 1, 2, 3, 12, 14]

Array.slice() :通过索引位置获取新的数组,不会改变原数组,返回一个新数组。参数 slice(start,end)
start - 必填;开始索引;如果是负数,则表示从数组尾部开始算起(-1指最后一个元素,-2 指倒数第二个元素)。
end - 可选;结束索引;如果不填写该参数,默认到数组结尾;如果是负数,则表示从数组尾部开始算起

//没有传递结束索引参数
let myArray = [2,4,5,7,9,12,14];
let newArray= myArray.slice(2);
console.log(myArray);//[2, 4, 5, 7, 9, 12, 14]
console.log(newArray);//[5, 7, 9, 12, 14]
//有传递结束索引参数
let myArray = [2,4,5,7,9,12,14];
let newArray= myArray.slice(1, 3);
console.log(newArray);//[4, 5]

Array.indexOf() 查找数组中的元素首次出现的位置,并返回它所在的位置,没用则返回-1,与字符串一致

var myArray = [1,2,3];
console.log(arr.indexOf(1));//0
console.log(arr.indexOf(2));//1
console.log(arr.indexOf(4));//-1

数组几种常用的循环方法包含ES6新增方法

Array.forEach() 对数组循环,类似于使用“for”循环将函数应用于数组

let myArray = [1,2,3,4]
myArray.forEach(function(item){
	console.log(item);//依次打印1 2 3 4
});

Array.map() 对数组中的每个元素执行一个函数,并将结果放入一个新数组中。有返回结果,但不会改变原来的数组
与forEach()区别 :会返回一个长度与原来数组一样的新数组

let myArray = [2,4,5,7,9,12,14];
let newArray= myArray.map(function(item){
	return item * 2;
});
console.log(newArray);[4,8,10,14,18,24,28]
console.log(myArray);[2,4,5,7,9,12,14]

Array.filter() 过滤元素,返回一个新数组。有返回结果,但不会改变原来的数组

let myArray = [2,4,5,7,9,12,14];
let newArray= myArray.filter((number) =>{
	return number > 9;
});
console.log(newArray);//[ 12, 14]

Array.some() 用于检测数组中的元素是否有满足指定条件,如果有一个元素满足条件,则返回true , 剩余的元素不会再继续,没用元素满足条件,则返回false

var myArray = [3,6,9,12];
let a = myArray.some((item)=>{
	return item > 9;
})
let b = myArray.some((item)=>{
	return item == 1;
})
console.log(a ,b);//true,false

Array.every() 用于检测数组中的所有元素是否满足指定条件,如果所有元素都满足条件,则返回true , 只要有一个元素不满足,则返回false,剩余的元素不会再继续

var myArray = [3,6,9,12];
let a = myArray.every((item)=>{
	return item > 9;
})
let b = myArray.every((item)=>{
	return item > 1;
})
console.log(a ,b);//false,true

Array.find() 返回数组满足条件的第一个元素的值,如果没有符合条件的元素则返回 undefined,有则返回结果,但不会改变原来的数组

let myArray = [1, 2, 3, 4, 5];
let a = myArray.find(item => item > 3);
let b = myArray.find(item => item == 0);
console.log(a,b); //4,undefined

待更新,也欢迎补充~~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值