js常用数组方法总结

fill()
使用一个固定值来填充数组,会改变原数组
var num=new Array(3)
num.fill(0)
console.log(num)  //[0,0,0]
-----------------------------------------------------------------------------------------
push():
用来向数组的末尾添加一个或多个元素,并返回数组新的长度,会改变原数组
var nums=[1,2,5,7]
nums.push(3)
console.log(nums) //[1,2,5,7,3]
-------------------------------------------------------------------------------------------
pop():
用来删除数组的最后一个元素,并返回被删除的元素,会改变原数组
var nums=[1,2,5,7]
var num=nums.pop()
console.log(num) //7
console.log(nums) //[1,2,5]
-------------------------------------------------------------------------------------------
unshift():
向数组的前边添加一个或多个元素,并返回数组的新的长度,会改变原数组
var nums=[1,2,5,7]
var num=nums.unshift(3)
console.log(num) //5
console.log(nums) //[3,1,2,5,7]
-------------------------------------------------------------------------------------------
shift():
删除数组的前边的一个元素,并返回被删除的元素,会改变原数组
var nums=[1,2,5,7]
var num=nums.shift(3)
console.log(num) //1
console.log(nums) //[2,5,7]
-----------------------------------------------------------------------------------------
splice():
可以用来删除数组中指定元素,并使用新的元素替换,会改变原数组
该方法会将删除的元素封装到新数组中返回
参数:
	1.删除开始位置的索引
	2.删除的个数
	3.三个以后,都是替换的元素,这些元素将会插入到开始位置索引的前边
var nums=[1,2,5,7]
var num=nums.splice(1,2,8)
console.log(num) //[2,5]
console.log(nums) //[1,8,7]
-----------------------------------------------------------------------------------------
reverse():
可以用来反转一个数组,它会对原数组产生影响
var nums=[1,2,5,7]
nums.reverse()
console.log(nums) //[7, 5, 2, 1]
-----------------------------------------------------------------------------------------
sort()
可以对一个数组中的内容进行排序,默认是按照Unicode编码进行排序
调用以后,会直接修改原数组。
可以自己指定排序的规则,需要一个回调函数作为参数:
function(a,b){
	return a-b;//升序排列
	return b-a;//降序排列
}
var nums=[1,2,5,7]
nums.sort(function(a,b){
  return a-b
})
console.log(nums) // [1, 2, 5, 7]
-----------------------------------------------------------------------------------------
join()
可以将一个数组转换为一个字符串
参数:
	需要一个字符串作为参数,这个字符串将会作为连接符来连接数组中的元素
    不会对原数组产生影响,而是将转换的字符串作为结果返回
	如果不指定连接符则默认使用
var nums=[1,2,5,7]
var num=nums.join("-")
console.log(num) //1-2-5-7
console.log(typeof num) //string
-----------------------------------------------------------------------------------------
concat():
可以连接两个或多个数组,它不会影响原数组,而是新数组作为返回值返回
var num1=[1,2,5,7]
var num2=[0,9]
var num3=num1.concat(num2)
console.log(num3) // [1, 2, 5, 7, 0, 9]
-----------------------------------------------------------------------------------------
slice()
可以从一个数组中截取指定的元素
该方法不会影响原数组,而是将截取到的内容封装为一个新的数组并返回
参数:
	1.截取开始位置的索引(包括开始位置)
	2.截取结束位置的索引(不包括结束位置)
	  第二个参数可以省略不写,如果不写则一直截取到最后
	  参数可以传递一个负值,如果是负值,则从后往前数
var nums=[1,2,5,7]
var num=nums.slice(1,3)
console.log(num) //[2,5]
console.log(nums) //[1,2,5,7]

-----------------------------------------------------------------------------------------
split()
使用指定的分隔符字符串分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置。
该方法不会影响原数组
let num="a:b"
let num1=num.split(":")
console.log(num1[0]) a
console.log(num1[1]) b

-----------------------------------------------------------------------------------------
filter()
用于对数组进行过滤
filter()方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素,不会影响原数组
var nums=[1,2,3,4,5,6,7,8,9,10]
   var res=nums.filter((num)=>{
      return num>5
   })
   console.log(res) //输出[6, 7, 8, 9, 10]
-----------------------------------------------------------------------------------------
some()     
从数组中找元素,找到后就不想再循环了就用some,不会影响原数组
 var num=[3,7,2,8,,1]
 num.some((item,index)=>{
     if(item==7){
         console.log(index) //输出1 
         return true  //在找到对应项后,通过return true来终止循环
     }
 })
-----------------------------------------------------------------------------------------
every()
判断是否每一项都符合条件,都符合返回值为true,有一个不符合就返回false,不会影响原数组
var arr=[
  {id:1,name:"aa",state:true},
  {id:2,name:"bb",state:true},
  {id:3,name:"cc",state:true},
]
var result=arr.every(item=>{
  if(item.state==true){
      return true
  }
})
console.log(result) //true
-----------------------------------------------------------------------------------------
indexOf()
返回数组元素索引方法,indexOf(数组元素)
只返回满足条件的第一个索引号,如果找不到返回-1,从前面开始查找
var num=[1,1,2,3,4,5]
console.log(num.indexOf(1)) //0
-----------------------------------------------------------------------------------------
lastIndexOf()
返回数组元素索引方法,indexOf(数组元素)
只返回满足条件的最后一个索引号,如果找不到返回-1,从后面开始查找
var num=[1,1,2,3,4,5]
console.log(num.lastIndexOf(1)) //1

-----------------------------------------------------------------------------------------
find()
返回数组中满足提供的函数的第一个元素的值。否则返回 undefined,不会影响原数组
const array = [5, 12, 8, 130, 44];
const found = array.find((a)=>{
  return a>10
});
console.log(found); 12

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端小马

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值