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

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

在沒有 push() 的情況下將模式添加到數組

在沒有 push() 的情況下將模式添加到數組

慕碼人8056858 2022-10-08 15:10:01
有沒有辦法在不使用任何方法的情況下對此進行編碼?a 是一個數組,n 是模式在新數組中重復的次數const func = (a, n) => {  const arr = [];  for (let i = 0; i < n; i++) {    arr.push(...a);  }  console.log(arr);};func([1, 2, 3, 4], 2);
查看完整描述

4 回答

?
精慕HU

TA貢獻1845條經驗 獲得超8個贊

您可以采用單獨的索引并分配值。


const func = (a, n) => {

    let array = [],

        i = 0;


    while (n--) for (const v of a) array[i++] = v;


    return array;

};


console.log(...func([1, 2, 3, 4], 2));


查看完整回答
反對 回復 2022-10-08
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

您可以使用擴展運算符為循環的每次迭代創建一個新數組。這意味著您的arr變量不能是常量,因為它會被新數組覆蓋。


const func = (a, n) => {


  let arr = [];


  for (let i = 0; i < n; i++) {


    arr = [...arr, ...a];


  }


  console.log(arr);


};


func([1, 2, 3, 4], 2);


查看完整回答
反對 回復 2022-10-08
?
眼眸繁星

TA貢獻1873條經驗 獲得超9個贊

好吧,您可以使用兩個循環并直接分配i數組項。


const func = (a, n) => {


  const arr = [];


  for (let i = 0; i < n; i++) {

    for (let j = 0; j < a.length; j++) {

      arr[i * a.length + j] = a[j]

    }

  }


  console.log(arr);


};


func([1, 2, 3, 4], 2);


查看完整回答
反對 回復 2022-10-08
?
白豬掌柜的

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

那 ?


const func=(a, n)=>

  {

  const arr = []

  let   p = 0

  for (let i=0;i<n;++i) for(let v of a) arr[p++] = v

  console.log(JSON.stringify(arr));

  }


func([1, 2, 3, 4], 2);


查看完整回答
反對 回復 2022-10-08
  • 4 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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