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))
添加回答
舉報