在给数组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() 高