题解 | 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; }