Array.prototype.shift()
基线 广泛可用
此功能已十分成熟,并在许多设备和浏览器版本中正常运行。它自 2015 年 7 月.
报告反馈
试试看
语法
shift()
方法是 Array
实例的方法,它会从数组中移除第一个元素并返回该移除的元素。此方法会改变数组的长度。shift()
js
参数
无。
返回值
描述
示例
shift()
方法是 通用的。它只期望 this
值具有 length
属性和整数键属性。尽管字符串也是类似数组的,但此方法不适合应用于字符串,因为字符串是不可变的。
从数组中移除元素
shift()
方法是 Array
实例的方法,它会从数组中移除第一个元素并返回该移除的元素。此方法会改变数组的长度。const myFish = ["angel", "clown", "mandarin", "surgeon"];
console.log("myFish before:", myFish);
// myFish before: ['angel', 'clown', 'mandarin', 'surgeon']
const shifted = myFish.shift();
console.log("myFish after:", myFish);
// myFish after: ['clown', 'mandarin', 'surgeon']
console.log("Removed this element:", shifted);
// Removed this element: angel
以下代码显示移除第一个元素之前和之后的 myFish
数组。它还显示移除的元素
在 while 循环中使用 shift() 方法
shift()
方法是 Array
实例的方法,它会从数组中移除第一个元素并返回该移除的元素。此方法会改变数组的长度。const names = ["Andrew", "Tyrone", "Paul", "Maria", "Gayatri"];
while (typeof (i = names.shift()) !== "undefined") {
console.log(i);
}
// Andrew, Tyrone, Paul, Maria, Gayatri
shift()
方法通常在 while 循环中的条件内使用。在以下示例中,每次迭代都会从数组中移除下一个元素,直到数组为空
对非数组对象调用 shift()
shift()
方法是 Array
实例的方法,它会从数组中移除第一个元素并返回该移除的元素。此方法会改变数组的长度。const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
console.log(Array.prototype.shift.call(arrayLike));
// undefined, because it is an empty slot
console.log(arrayLike);
// { '1': 4, length: 2, unrelated: 'foo' }
const plainObj = {};
// There's no length property, so the length is 0
Array.prototype.shift.call(plainObj);
console.log(plainObj);
// { length: 0 }
规范
shift() 方法会读取 this 的 length 属性。如果 规范化长度 为 0,则 length 将再次设置为 0 (而它之前可能是负数或 undefined )。否则,将返回索引为 0 的属性,并将其余属性向左移动一个位置。length 属性减 1。 |
---|
规范 # ECMAScript 语言规范 |
浏览器兼容性
sec-array.prototype.shift