js数组操作方法

1.常见的一些数组操作:
  • push

作用:将参数添加到数组的尾部 原数组将会被改变

返回:数组长度

let mya = [2,3,4] 
let len = mya.push(8,2,1) 
console.log(len);         //6
console.log(mya);         //[ 2, 3, 4, 8, 2, 1]
  • unshifit

作用:将参数添加到数组的头部 原数组将会被改变

返回:数组长度

let mya = [2,3,4] 
let len = mya.unshift(8,2,1) 
console.log(len);         //6
console.log(mya);         //[ 8, 2, 1, 2, 3, 4]
  • pop

作用:将数组的最后一个尾部元素删除 原数组将会被改变

返回:这个被删除的元素

let mya = [2,3,4] 
let len = mya.pop() 
console.log(len);         //4
console.log(mya);         //[2,3]
  • shift

作用:将数组的第一个头部元素删除 原数组将会被改变

返回:这个被删除的元素

let mya = [2,3,4] 
let len = mya.shift() 
console.log(len);         //2
console.log(mya);         //[3,4]
  • slice

作用:截取数组的某一段 原数组不变

返回:这个截取出的数组

let mya = [2,3,4,5,6] 
let len1 = mya.slice() 
let len2 = mya.slice(1) 
let len3 = mya.slice(1,2) 
console.log(len1);         //[2,3,4,5,6] 参数为空时不截取数组
console.log(len2);         //[3,4,5,6] 参数为一个时表示从该索引开始截取(保留该索引及该索引之后的数组)
console.log(len3);         //[2] 两个参数,截取到第二个索引(不包括)
  • splice

作用:去除数组的某一段 原数组改变

返回:剩余的数组

let mya = [2,3,4,5,6] 
let len1 = mya.splice() 
let len2 = mya.splice(1) 
let len3 = mya.splice(1,2) 
console.log(len1);         //[] 参数为空,表示没截取,返回空数组,原数组不变
console.log(len2);         //[3,4,5,6] 参数为一个时,表示从该索引开始截取(保留该索引及该索引之后的数组)原数组为 [2]
console.log(len3);         //[3,4] 两个参数,第二个表示截取了几个参数,原数组为[2,5,6]
  • reverse

作用:颠倒数组中元素的顺序 原数组改变

返回:无返回

let mya = [2,3,4,5,6] 
let kk = mya.reverse();    //undefined   原数组为[6,5,4,3,2]  
  • sort

作用:排序 原数组改变

返回:排序后的数组

let mya = [2,3,4,5,6] 
let kk = mya.sort(function(a,b){
	return a-b;   //从小到大
});    //[6,5,4,3,2],与原数组相同
  • join

作用:数组转为字符串 原数组不变

返回:字符串

let mya = [2,3,4,5,6] 
let kk = mya.join(".")   //2.3.4.5.6   用给定的字符串进行连接
  • concat

作用:将数组拼接到原数组后面 原数组不变

返回:新数组

let mya = [2,3,4,5,6] 
let kk = mya.concat([1,2,3])   //[2,3,4,5,6,1,2,3]   原数组不变

ES5中新增数组方法

  • indexOf

作用:获取某个值在数组中出现的索引值

返回:索引

let mya = [2,3,4,5,6] 
let index = mya.indexOf(2)   //返回0
//找不到返回-1
  • forEach

作用:遍历数组,改变原数组

返回:无

let mya = [2,3,4,5,6] 
mya.forEach((i,index)=>{
	//i 当前元素
	//当前索引
})
//注:forEach中不可进行break,continue。因为使用的是回调函数
  • map

作用:遍历数组 不改变原数组

创建一个新数组

let mya = [2,3,4,5,6] 
mya.map((i,index)=>{
	//i 当前元素
	//当前索引
	return i * 2
})
  • filter 推荐有筛选条件(> < )时使用

作用:滤出一些元素组成一个新数组 不改变原数组

let mya = [2,3,4,5,6]   
mya.filter((i,index)=>{
	return i > 2;
})    //[3,4,5,6]
  • some

作用:检测数组中是否有一个满足条件

返回:布尔值

let mya = [2,3,4,5,6]   
mya.some((i,index)=>{
	return i > 2;
})  //true    有一个满足就为true
  • every 与some条件相反

作用:检测数组中是否全部满足条件

返回:布尔值

let mya = [2,3,4,5,6]   
mya.every((i,index)=>{
	return i > 2;
})  //false   
  • reduce

作用:对数组中所有值都执行提供的回调函数,并将该函数的返回值作为累计结果,作为下一次调用的参数

返回:累计结果

let mya = [2, 3, 4, 5, 6]
	const newmya = mya.reduce((total, i, index) => {
		return total + i + index;
	})
	console.log('mya', mya); // [2, 3, 4, 5, 6]
	console.log('newmya', newmya); // 30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值