题解 | FED41 #头部插入元素#
头部插入元素
https://www.nowcoder.com/practice/6702abe9efcd482aac433f60896d9e1a
将第二个参数插入第一个参数数组的头部,并且以数组的形式返回
function _unshift(array,value) {
// 补全代码
//将第二个参数插入第一个参数数组的头部,并且以数组的形式返回
/*法一:挨个后移*/
for(let i=array.length;i>0;i--){
array[i]=array[i-1];
}
array[0]=value;
return array;
/*法二:数组的splice方法:splice(从哪添加,删除个数 默认从第一个开始删,新元素1,...,新元素)*/
array.splice(0,0,value);
return array;
/*法三:JS的Array的
unshift():在头部添加元素,返回长度
shift():删除数组的第一个元素,并返回该元素
pop():删除最后一个元素,并返回该元素
push():数组末尾添加元素,并返回长度 参考:https://www.w3school.com.cn/jsref/jsref_push.asp
*/
array.unshift(value);
return array;
/*法四:数组的逆置方法reverse()*/
array.reverse().push(value);
return array.reverse();
/*法五:rest参数,ES6的展开运算符,本题要求ES5*/
let arr=[value,...array];
array.length=0;
arr.forEach(i=>{
array.push(i);
});
return arr;
/*法六:数组拼接。of()方法是ES6的
Array.of():据可变参数,创建新Array实例(即 将一组参数转化为数组) Array(7):创建长度为7的空数组 参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/of
concat():合并数组,返回新数组
*/
const temp=Array.of(value).concat(array);
array.length=0;
temp.forEach(i=>{
array.push(i);
});
return array;
}
