JS:数组操作

数组

表格中arr代表一个数组

操作作用解释
arr.push(" ")尾插arr修改,返回新数组的长度
arr.pop()尾删arr修改,返回被删除的项
arr.unshift()前插arr修改,返回新数组的长度
arr.shift()前删arr修改,返回被删除的项
arr.concat(arr1,arr2)合并arr不修改,返回合并后的数组
arr.join(“+”)将数组元素用指定字符拼接成字符串arr不修改,返回字符串(“+”代表指定字符,可更换)
arr.includes(“a”)判断数组是否包含制定的值arr不修改,返回 true 或 false
arr.indexOf(“a”,index)"a"在数组中首次出现的下标arr不修改,返回指定字符首次出现的下标,不存在返回-1,index代表从某个下标开始查找,不写,默认0
arr.reverse()反转原数组元素顺序arr修改
arr.slice(startIndex,endIndex)截取arr不修改,返回新数组,下标含头不含尾
arr.splice(startIndex,count,“”)插入/删除arr修改,返回删除项,三个参数(开始下标,删除多少项,插入值)

带回调函数的数组方法:

1. arr.sort(function (a,b){
	return a-b;   //a-b升序、b-a降序
})
// 修改原数组,默认比较字符串
2. arr.forEach(function(value,index,arr){//数组的遍历
// value-----每一项,index-----下标,arr-----数组
	sum+=value;//求数组的和
}4. arr.map(function(value,index,arr){// 映射,不改变arr
	return (value*1.3)+10;//通过指定函数对每个元素进行操作
}5. arr.filter(function(value,index,arr){// 过滤,不改变arr
	return value<10;// 过滤符合条件的值,并以数组的形式返回
}6. arr.some(function(value,index,arr){// 不改变arr,只要有一个满足就为true
	return value>10;// 判断数组中是否存在满足条件的值,遇到true停止,返回布尔值
}7. arr.every(function(value,index,arr){// 不改变arr,只要有一个不满足就为false
	return value>10;// 判断数组中是否都满足条件的值,遇到false停止,返回布尔值
}8. arr.reduce(function(total,value,index,arr){// 将数组元素计算为一个值
	total+=value;
	return total;
},0// 设置total的初始值为0,不传默认值的话,会将第0项作为默认值,也可以为空数组,空对象,“”

变异数组:(修改原数组)
  poppushshiftunshiftsplicesortreverse
非变异数组:(不修改原数组)
  concatsomeeveryreduceslicefilterreduce

数组对象去重:

handleUnique(arr, key) {
      // arr  需要去重的数组   type:作为去重依据的key
      const res = new Map();
      return arr.filter((arr) => !res.has(arr[key]) && res.set(arr[key], 1))
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值