JavaScript常用的数组方法

JavaScript常用的数组方法

数组常见的方法:操作方法、排序方法、转换方法、迭代方法。

1. 操作方法

数组基本操作有增、删、改、查等。

1.1 增

  • push()方法接收任意数量的参数,并将它们添加到数组末尾,返回数组的最新长度。
let arr = [1,2,3,4]
arr.push(5,'aaa')
let l = arr.push()
console.log('push:'+arr+"   长度是:"+l)

运行结果:
push运行结果

  • unshift()在数组开头添加任意多个值,然后返回新的数组长度。
        let arr = [1,2,3,4]
        arr.unshift('aaa',0)
        let l = arr.unshift()
        console.log('unshift:'+arr+"   长度是:"+l)

运行结果:
unshift运行结果

  • splice():可以向数组中添加新的项(也可以删除数组中的项)。传入三个参数,分别是开始位置、0(添加元素的话第二个参数一定要为0)(或者要删除的元素数量)、插入的元素,返回的是一个空数组。
let arr = [1,2,3,4]
let l = arr.splice(1,0,'aaa','bbb')
console.log('splice:'+arr+"  返回结果是:",l)

运行结果:
splice运行结果

  • concat():首先会创建一个当前数组的副本,然后再把它的参数添加到副本末尾,最后返回这个新构建的数组,不会影响原始数组。
let arr = [1,2,3,4]
let arr1 = arr.concat(5,'abc')
console.log("concat:原数组:"+arr+"  新数组:"+arr1)

运行结果:
concat运行结果
注意:前三种方法均会对原数组产生影响,最后一个concat不会对原数组产生影响。

1.2 删

  • pop()方法用于删除数组的最后一项,同时减少数组的长度,返回被删除的项。
let arr = [1,2,3,4,5,'aaa']
console.log("pop:arr:"+arr+"arr的长度:"+arr.length)
let arr1 = arr.pop()
console.log("pop:arr:"+arr+"  arr的长度:"+arr.length+"  arr1:"+arr1)

运行结果:
pop运行结果

  • shift()方法用于删除数组的第一项,同时减少数组的长度,返回被删除的项。
let arr = [1,2,3,4,5,'aaa']
console.log("shift:arr:"+arr+"arr的长度:"+arr.length)
let arr1 = arr.shift()
console.log("shift:arr:"+arr+"  arr的长度:"+arr.length+"  arr1:"+arr1)

运行结果:
shift运行结果

  • splice()用于删除数组元素,传入两个参数,分别是开始位置,删除元素的数量,返回的是一个包含删除元素的数组。
let arr = [1,2,3,4,5,'aaa']
let arr1 = arr.splice(2,2)
console.log("splice:arr:"+arr+"  arr的长度:"+arr.length+"  arr1:"+arr1)

运行结果:
splice运行结果

  • slice()方法可从已有数组中返回选定的元素,返回一个新数组,不会影响原数组。slice(start,end):包含从start到end(不包含该元素)的数组元素。
 let arr = [1,2,3,4,5,'aaa']
 let arr1 = arr.slice(2,4)
 console.log("slice:arr:"+arr+"  arr的长度:"+arr.length+"  arr1:",arr1)

运行结果:
slice运行结果

注意:前面三种均会对原数组产生影响,最后一种slice不会对原数组产生影响。

1.3 改

修改原数组的内容,常用的是splice,用法如上所述。

1.4 查

即查找元素,返回元素的索引号或者元素的值。

  • indexOf()返回要查找元素在数组中的位置,如果没有就返回-1。
 let arr = [1,2,3,4,5]
 let index = arr.indexOf(3)
 console.log('indexOf:'+index)

运行结果:
indexOf运行结果

  • includes()返回要查找的元素在数组中的位置,找到就返回true,没有找到就返回false。
let arr = [1,2,3,4,5,'aaa']
let flag = arr.includes('aaa')
let flag1 = arr.includes(6)
console.log('includes:找到元素的flag:'+flag+"  没有找到元素的flag1:"+flag1)       

运行结果:
includes运行结果

  • find()返回第一个匹配的元素
  let arr = [1,2,3,4,5,'aaa']
        let flag = arr.find((item,arr)=>{
            // 返回数组中大于3的第一给元素
            return item>3;
        })
  console.log('find:返回值:'+flag)

运行结果:find运行结果

2. 排序方法

  • reverse()将数组元素方向反转
let arr = [1,2,3,4,5]
console.log("原数组:"+arr)
arr.reverse()
console.log("reverse():反转后的数组:"+arr)
        

运行结果:
reverse运行结果

  • sort()方法接受一个比较函数,用于判断哪个值应该排在前面。
let arr = [29,38,19,0,1,2]
console.log("原数组:"+arr)
arr.sort()
console.log("sort():比较后的数组:"+arr)

运行结果:
sort运行结果

3. 转换方法

  • join()方法接收一个参数,即字符串分隔符,返回包含所有项的字符串。
let arr = ["aaa","bbb","ccc","ddd"]
console.log("原数组:"+arr)
let arr1 = arr.join("||")
console.log("join():转换后的数组:"+arr1)

运行结果:
join运行结果

4. 迭代方法

  • some()对数组每一项都运行传入的测试函数,如果至少有一个元素就返回true,否则就返回false。
 let arr = [1,2,3,4,5]
        let flag = arr.some((item,arr)=>{
            return item>3;
        })
        console.log("some():"+flag)

运行结果:
some运行结果

  • every()对数组每一项都运行传入的测试函数,如果所有元素都返回 true ,否则返回false。
        let arr = [1,2,3,4,5]
        let flag = arr.every((item,arr)=>{
            return item>3;
        })
        console.log("every():"+flag)

运行结果:
every运行结果

  • forEach()对数组每一项都运行传入的函数,没有返回值
        let arr = [1,2,3,4,5]
        let flag = arr.forEach((item,arr)=>{
            return item>3;
        })
        console.log("forEach():"+flag)

运行结果:

forEach运行结果
注:因为没有返回值,所以就算return也是undefined。

  • filter()对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回
        let arr = [1,2,3,4,5]
        let flag = arr.filter((item,arr)=>{
            return item>3;
        })
        console.log("filter():",flag)

运行结果:
filter运行结果

  • map()对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组。
        let arr = [1,2,3,4,5]
        console.log("原数组:"+arr)
        let arr1 = arr.map((item,arr)=>{
            return item*2;
        })
        console.log("map():新数组:"+arr1)

运行结果:
map运行结果
注:数组的每一项都进行乘于2的操作。

附加console.log(,)和console.log(+)的区别

//console.log(,)和console.log(+)的区别
        let arr = [1,2,3,4,5]
        console.log("原数组:"+arr)
        let arr1 = arr.map((item,arr)=>{
            return item*2;
        })
        console.log("map():新数组:",arr1)

运行结果:
运行结果

+是先将第一个打印的东西 和第二打印的东西打印出来的内容连接起来,在一起打印出来,是一个整体;
, 是2个参数,各自打印各自的,毫无任何关系。
好啦,以上就是数组常用的方法啦~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值