暂时想到的
// 1.通过循环将数组中的元素往后移一位
function _unshift(array, value) {
let len = array.length;
for (let i = len - 1; i >= 0; i--) {
array[i+1] = array[i];
}
array[0] = value;
}
// 2. ES6的展开运算符,本题是要求用ES5
function _unshift(array,value) {
const temp = [value, ...array]; // 用临时数组保存结果
array.length = 0; // 将数组置空,不能使用 array = []
// 将结果放回原数组
temp.forEach(item=>{
array.push(item)
})
return array
}
// 3.数组拼接,of方法可以将一组参数转化成数组。of方法也是ES6才支持的。
function _unshift(array,value) {
const temp = Array.of(value).concat(array);
array.length = 0;
temp.forEach(item=>{
array.push(item)
})
return array
}
// 4.万金油splice
function _unshift(array,value) {
// splice返回的是被删除的元素
array.splice(0,0,value);
return array;
}
// 5.unshift方法
function _unshift(array,value) {
array.unshift(value);
return array;
}