js数组方法

js中数组的方法是我们开发项目时必不可少的基础,清楚的了解js数组方法可以帮助我们更合理的开发,下面就给大家列出一些最近的js数组方法。

typeof 判断是否为一个数组

var a=[1,2,3]

console.log(typeof a);

Array.isArray() 判断是否为一个数组,是的话返回true否则返回false

var a=[1,2,3]

var b={1:1,2:2,3:3}

console.log(Array.isArray(a));

valueOf 返回这个数组的本身

var a = [1,2,3]

console.log(a.valueOf());

将数组以字符串形式进行返回

var a=[1,2,3]

console.log(a.toString());

push 在数组末尾添加一个元素

var a = [1,2,3]

a.push("b",4,{1:1},true)

console.log(a);

pop 删除数组最后一个元素,空数组的话则返回underline

var a = [1,2,3]

a.pop()

console.log(a);

join 可以将数组内的元素变为字符串返回,并且可以设置一个参数作为分隔符将元素隔开,没有设置参数的话(()括号内为空)默认用逗号分隔

var a = [1,2,3]

var b = a.f()

console.log(b);

concat可以将两个数组合并成一个数组,也可以将两个对象合并成一个数组

合并数组

var a = [1,2,3]

var b = [2,2,2]

var c =a.concat(b)

console.log(c);

合并对象

var d ={1:1,2:2}

var e ={1:1,2:2}

var f =[].concat(d,e)

console.log(f);

shift 删除数组的第一个元素

var a = [1,2,3]

a.shift()

console.log(a);

unshift 向数组的头部添加一个元素

var a = [1,2,3]

a.unshift('1')

console.log(a);

reverse 可以颠倒数组内元素的顺序

var a = [1,2,3]

a.reverse()

a.reverse()

console.log(a);

 slice 可以提取原数组的一部分组成一个新的数组,原数组保持不变,如果参数是负数的话,则表示从倒数的位置开始计算,如果参数值大于数组成员的个数,或者第二个参数小于第一个参数则返回空数组

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b = a.slice(-5)

console.log(b);

console.log(a);

splice() 方法用于删除原数组的一部分成员,并可以在被删除的位置添加入新的数组成员,返回值是被删除的元素。注意,该方法会改变原数组。splice的第一个参数是删除的起始位置,第二个参数是被删除的元素个数。如果后面还有更多的参数,则表示这些就是要被插入数组的新元素。

var a = [1,2,3,123,3,4,5,1,2,2,1]

a.splice(3,1) 删除下标为3的数据,删一个

a.splice(1) 删除从下标1开始的所有数据

a.splice(1,5) 删除从下标1开始到下标5前面的数据

a.splice(1,1,152) 删除下标为1的数据并将其替换为第三个参数

console.log(a);



 

sort 可以将数组内的数据从大到小,或者从小到大排序

var a = [1,2,3,123,3,4,5,1,2,2,1]

从小到大排序

a.sort(function(a,b){

  return a-b

})

console.log(a);

从大到小排序

a.sort(function(a,b){

  return b-a

})

console.log(a);



 

根据函数结果返回一个新数组。map方法接受一个函数作为参数。该函数调用时,map方法会将其传入三个参数,分别是当前成员、当前位置和数组本身。

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b =a.map(function(n,s,d){

  return n*s

})

console.log(b);

forEach() 方法与map方法很相似,也是遍历数组的所有成员,执行某种操作,但是forEach方法一般不返回值,只用来操作数据。如果需要有返回值,一般使用map方法。forEach方法的参数与map方法一致,也是一个函数,数组的所有成员会依次执行该函数。它接受三个参数,分别是当前位置的值、当前位置的编号和整个数组。

var a = [1,2,3,123,3,4,5,1,2,2,1]

a.forEach(function(item){

   item+=1

   console.log(item);

})




 

for循环遍历数组内的所有数据,可以得到所有数据的下标

var a = [1,2,3,123,3,4,5,1,2,2,1]

for(var i=0;i<a.length;i++){

  console.log(a[i]);

}


 

filter方法可以过滤出指定的的数据,将指定的数据变为一个数组或者对象

var a = [

  {name:'aa',flag:true ,age:1},

  {name:'dd',flag:false,age:2},

  {name:'cc',flag:false,age:3},

  {name:'dd',flag:false,age:4},

  {name:'ee',flag:false,age:5},

]

var b = a.filter((item)=>{

return item.age<3

})

console.log(b);

some判断一个对象或者一个数组内的数据是否有符合条件的,符合条件的为true,不符合的为false,只要有一个为true就都为true,都不为true才返回false

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b =a.some(function(n){

  return n>3222

})

console.log(b);

every和some正好相反,所有的为true才返回true,否则返回false

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b =a.every(function(n){

  return n>0

})

console.log(b);

indexOf去重

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b = []

a.forEach(function(f1){

  if(b.indexOf(f1)===-1){

    b.push(f1)

  }

})

console.log(b);

附加去重方法:...new Set()结构赋值去重

var a = [1,2,3,123,3,4,5,1,2,2,1]

var b =([...new Set(a) ])

console.log(b);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值