前端进阶-个人笔记-JS-push(),pop(),shift(),unshift(),splice(),sort(),reverse()

1.push()

push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度 push()内部可以插入多个值,在数组末尾添加新值

  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.push('aaa'))//5
   console.log(a)//["111", "222", "3333", "444", "aaa"]
  </script>
  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.push('aaa','bbbb'))//6
   console.log(a)//["111", "222", "3333", "444", "aaa", "bbbb"]
  </script>

2.pop()

pop()方法可以将数组最后一位元素删除

  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.pop())//444
   console.log(a)//["111", "222", "3333"]
  </script>

当数组为空时,打印undefined

  <script type="text/javascript">
   let a = []
   console.log(a)//[]
   console.log(a.pop())//undefined
   console.log(a)//[]
  </script>

3.shift()

shift()方法可以将数组第一位元素删除

  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.shift())//111
   console.log(a)//["222", "3333", "444"]
  </script>

4.unshift()

unshift()方法可以在数组开头添加任意数量的元素

  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.unshift('unshift1'))//5
   console.log(a)//["unshift1", "111", "222", "3333", "444"]
  </script>
  <script type="text/javascript">
   let a = ['111', '222', '3333', '444']
   console.log(a)//["111", "222", "3333", "444"]
   console.log(a.unshift('unshift1','unshift2'))//6
   console.log(a)//["unshift1", "unshift2", "111", "222", "3333", "444"]
  </script>

5.splice()

splice(a,b,c)
第一个参数:表示从哪个位置删除/插入/替换元素
例:splice(1);第一个元素保留,之后的全部删除
第二个参数:
删除元素,表示删除几个元素
替换元素,替换元素个数,同时之后写元素内容,用逗号连接
插入元素,第二个参数传入0,之后跟插入元素,用逗号连接
例:splice(1,2,‘a’,‘b’);第2,3元素替换为a,b,
例:splice(1,0,‘a’);将a插入第一个元素之后

6.sort()

sort()方法可以对数组中的每一个元素进行排序,但是问题来了,即便数组元素全部都是数值类型,此方法依然会将所有元素先转换成字符串再进行升序排序。

因此,为了解决这个问题,sort()方法允许传入一个比较函数作为参数,实现升序或者降序。

var arr = [0, 1, 5, 10, 15];
// reserve()反转、  sort()升序(小 => 大)
console.log(arr.reverse()); // 返回反转后的新数组 [15, 10, 5, 1, 0]
console.log(arr); // [15, 10, 5, 1, 0]

// sort()方法比较的始终是字符串
console.log(arr.sort()); // 返回排序后的新数组 [0, 1, 10, 15, 5]
console.log(arr); // [0, 1, 10, 15, 5]

// 为了解决使用sort()会转换成字符串后再比较的问题,sort()方法可以传入一个比较函数。
function compareMinToMax(value1, value2) { // 升序函数
    return value1 - value2;
}
arr.sort(compareMinToMax); // 传入比较函数
console.log(arr); // [0, 1, 5, 10, 15]

function compareMaxToMin(value1, value2) { // 降序函数
    return value2 - value1;
}
arr.sort(compareMaxToMin); // 传入比较函数
console.log(arr); // [15, 10, 5, 1, 0]

按照数组中对象的某一个属性值进行排序(常用)

var arr = [
    {name:'aa',age:1},
    {name:'dd',age:12},
    {name:'bb',age:8},
    {name:'bb',age:8}
];
function compare(property){
    return function(a,b){
        var value1 = a[property];
        var value2 = b[property];
        return value1 - value2;
    }
}
console.log(arr.sort(compare('age')))
/*
 {name:'aa',age:1},
 {name:'bb',age:8},
 {name:'bb',age:8}
 {name:'dd',age:12},
*/

数组元素按首字母排序
先把想排列的元素全部转变统一的大小写

let aa = ["Apple","Orange","Banana"]
let bb = aa.join(",").toLowerCase().split(",")
bb.sort()
console.log(bb)
// ["apple", "banana", "orange"]

7.reverse()

reverse()方法用于颠倒数组中元素的顺序。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值