在给数组push的时候发现一个新的方法unshift() 就找了一下区别:

push()

push() 方法(在数组结尾处)向数组添加一个新的元素:

var webKnowledge = ["HTML", "CSS", "JS", "VUE"];
webKnowledge.push("REACT");       //  向 webKnowledge 添加一个新元素 REACT

//新数组为:["HTML", "CSS", "JS", "VUE", "REACT"]

push() 方法返回新数组的长度:

var webKnowledge = ["HTML", "CSS", "JS", "VUE"];
const x = webKnowledge.push("REACT");       //  新数组的长度

//x 的值为 5

unshift() 方法

unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素,即将旧元素都左移(注意:这个方法会改变数组中元素的索引):

var webKnowledge = ["HTML", "CSS", "JS", "VUE"];
webKnowledge.unshift("REACT");       //  向 webKnowledge 添加一个新元素 REACT

//新数组为:["REACT", "HTML", "CSS", "JS", "VUE"]

unshift() 方法返回新数组的长度:

var webKnowledge = ["HTML", "CSS", "JS", "VUE"];
const x = webKnowledge.unshift("REACT");       //  新数组的长度

//x 的值为 5

区别

相同点:

  • 都可以向数组中添加元素
  • 都会改变数组的长度
  • 都会返回新的长度

不同点:

  • push() 方法是在元素的末尾添加新的元素,unshift() 方法是在开头添加
  • push() 方法不会改变原数组中元素的索引,unshift() 会改变原数组中元素的索引
  • unshift() 比push() 慢,消耗的资源也更高
  • push() 方法的使用场景和频率比 unshift() 高
End
最后修改:2022 年 11 月 06 日
如果觉得我的文章不错,请随手点赞~