Array.prototype.unshift()
基线 广泛可用
此功能已十分成熟,在许多设备和浏览器版本中都能正常工作。它自 2015 年 7 月.
报告反馈
试试看
语法
unshift()
是 Array
实例的方法,它将指定的元素添加到数组的开头,并返回数组的新长度。unshift()
unshift(element1)
unshift(element1, element2)
unshift(element1, element2, /* …, */ elementN)
js
- 参数
-
element1
,…,elementN
要添加到 arr
开头的元素。
返回值
描述
调用该方法的对象的新 length
属性。
unshift()
方法将给定值插入到类似数组的对象的开头。
Array.prototype.push()
与 unshift()
的行为类似,但应用于数组的末尾。
请注意,如果多个元素作为参数传递,它们将以块的形式插入到对象的开头,以传递参数的顺序排列。因此,一次用 n
个参数调用 unshift()
,或者用 1 个参数(例如,使用循环)调用 n
次,结果并不相同。
unshift()
是 Array
实例的方法,它将指定的元素添加到数组的开头,并返回数组的新长度。let arr = [4, 5, 6];
arr.unshift(1, 2, 3);
console.log(arr);
// [1, 2, 3, 4, 5, 6]
arr = [4, 5, 6]; // resetting the array
arr.unshift(1);
arr.unshift(2);
arr.unshift(3);
console.log(arr);
// [3, 2, 1, 4, 5, 6]
参见示例
示例
unshift()
方法是 泛型 的。它只期望 this
值具有 length
属性和整数键属性。虽然字符串也是类似数组的,但此方法不适合应用于字符串,因为字符串是不可变的。
unshift()
是 Array
实例的方法,它将指定的元素添加到数组的开头,并返回数组的新长度。const arr = [1, 2];
arr.unshift(0); // result of the call is 3, which is the new array length
// arr is [0, 1, 2]
arr.unshift(-2, -1); // the new array length is 5
// arr is [-2, -1, 0, 1, 2]
arr.unshift([-4, -3]); // the new array length is 6
// arr is [[-4, -3], -2, -1, 0, 1, 2]
arr.unshift([-7, -6], [-5]); // the new array length is 8
// arr is [ [-7, -6], [-5], [-4, -3], -2, -1, 0, 1, 2 ]
使用 unshift()
在非数组对象上调用 unshift()
unshift()
是 Array
实例的方法,它将指定的元素添加到数组的开头,并返回数组的新长度。const arrayLike = {
length: 3,
unrelated: "foo",
2: 4,
};
Array.prototype.unshift.call(arrayLike, 1, 2);
console.log(arrayLike);
// { '0': 1, '1': 2, '4': 4, length: 5, unrelated: 'foo' }
const plainObj = {};
// There's no length property, so the length is 0
Array.prototype.unshift.call(plainObj, 1, 2);
console.log(plainObj);
// { '0': 1, '1': 2, length: 2 }
规范
unshift() 方法读取 this 的 length 属性。它将范围为 0 到 length - 1 的所有索引向右移动参数的数量(将其值增加该数量)。然后,它从 0 开始,使用传递给 unshift() 的参数设置每个索引。最后,它将 length 设置为先前的长度加上预先附加的元素数量。 |
---|
规范 # ECMAScript 语言规范 |
浏览器兼容性
sec-array.prototype.unshift