亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將項目添加到數組的中間?

如何將項目添加到數組的中間?

冉冉說 2021-04-27 09:10:10
function reverse(array,item){  let word = Math.ceil(array.length/2)  return array.splice(word,0,item)}console.log(reverse([1,2,4,5,6],3))我想知道為什么當我調用函數而不是[1,2,3,4,5,6]時會得到一個空數組嗎?
查看完整描述

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))


查看完整回答
反對 回復 2021-05-06
?
MMMHUHU

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));


查看完整回答
反對 回復 2021-05-06
?
HUH函數

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))


查看完整回答
反對 回復 2021-05-06
?
至尊寶的傳說

TA貢獻1789條經驗 獲得超10個贊

array.splice(...)不返回新數組,而是修改輸入數組。對于MDN,其返回值為:

包含已刪除元素的數組。如果僅刪除一個元素,則返回一個元素的數組。如果沒有刪除任何元素,則返回一個空數組。


查看完整回答
反對 回復 2021-05-06
  • 4 回答
  • 0 關注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號