Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
unshift() 方法将指定元素添加到数组的开头,并返回数组的新长度。
添加到 arr 开头的元素。
返回调用方法对象的新 length 属性。
unshift() 方法将给定的值插入到类数组对象的开头。
Array.prototype.push() 有着和 unshift() 相似的行为,但是其将元素插入到数组的末尾。
请注意,如果多个元素作为参数传递,它们将被插入到对象开头的块中,与它们作为参数传递的顺序完全相同。因此,调用一次 unshift() 方法并传递 n 个参数,与调用 n 次并传递 1 个参数(例如使用循环),不会产生相同的结果。
请看示例:
unshift() 方法是通用的。它只期望 this 值具有 length 属性和整数键属性。虽然字符串也是类似于数组的,但这个方法不适用于它们,因为字符串是不可变的。
unshift 方法会读取 this 的 length 属性。然后,它将 0 到 length - 1 范围内的所有属性按参数数量右移,并将每个索引从 0 开始,并将参数传递给 unshift()。最后,它将 length 设置为之前的长度加上前置元素的数量。
| ECMAScript® 2027 Language Specification # sec-array.prototype.unshift |
启用 JavaScript 以查看此浏览器兼容性表。