js 数组方法(改变原数组)

  • Array.unshift(元素)

开头增加元素

let arr = [1, 2, 3]
let newarr = arr.unshift(8, 9)
console.log(arr);       // [8, 9, 1, 2, 3]
console.log(newarr);    // 5  (数组长度)

  • Array.push(元素)

结尾增加元素

let arr = [1, 2, 3]
let newarr = arr.push(8, 9)
console.log(arr);       // [1, 2, 3, 8, 9]
console.log(newarr);    // 5  (数组长度)

  • Array.shift()

删除开头第一个元素

let arr = [4, 1, 2, 3]
let newarr = arr.shift()
console.log(arr);       // [1, 2, 3]
console.log(newarr);    // 4  (被删元素)

  • Array.pop()

删除结尾最后一个元素

let arr = [4, 1, 2, 3]
let newarr = arr.pop()
console.log(arr);       // [4, 1, 2]
console.log(newarr);    // 3  (被删元素)

  • Array.splice(startIndex,many,元素)

可增可删

Array.splice( 开始删除的下标,删几个,要添加的元素1,要添加的元素2... )

  • Array.reverse()

倒序

let arr = [1, 2, 3, 4]
let newarr = arr.reverse()
console.log(arr);       // [4, 3, 2, 1]
console.log(newarr);    // [4, 3, 2, 1]

  • Array.sort(方法)

排序        这个复杂一点

该方法默认升序。原理涉及编码,这里不详细讲。

原理的大概意思就是 :先比较每个元素中的第一个字符大小,完了再比较第二个...一直到最后一个。

let arr = [1, 2, 3, 11, 22, 200]
let newarr = arr.sort()
console.log(arr);       // [1, 11, 2, 200, 22, 3]
console.log(newarr);    // [1, 11, 2, 200, 22, 3]

但是,我们可以传入自定义排序方法

 按照这样的逻辑,要怎么让数组按数值的大小排序呢?

可以每次传入两个元素(这里要注意:传入的第二个参数才是前一位元素,第一个参数反而是后一位元素),通过return这两个元素值的差,来控制return后面跟的数值是否小于0。如果小于0的话这两个元素就要调换顺序。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值