4 回答

TA贡献1799条经验 获得超9个赞
splice()更改原始数组,slice()但不更改。
如果您不想更改原始数组,请使用slice。
function reverse(array,item){
let word = Math.ceil(array.length/2)
return [].concat(array.slice(0,word - 1), item, array.slice(word - 1));
}
console.log(reverse([1,2,4,5,6],3))

TA贡献1834条经验 获得超8个赞
Array#splice 返回第二个参数计数的项目,即被删除的项目。
要返回数组,您需要先返回然后数组,而不是已拼接的项目。
function reverse(array, item) {
let word = Math.ceil(array.length / 2);
array.splice(word, 0, item);
return array;
}
console.log(reverse([1, 2, 4, 5, 6], 3));

TA贡献1836条经验 获得超4个赞
splice不返回新数组,而是修改输入数组。您需要明确返回
function reverse(array,item){
let word = Math.ceil(array.length/2)
array.splice(word,0,item)
return array
}
console.log(reverse([1,2,4,5,6],3))
添加回答
举报