簡體   English   中英

我如何拆分數組中的數字? javascript

[英]how do i split numbers in a array ? javascript

我試圖拆分數組中的所有數字:

var array_code = [116,101,120,116]; 

所以我希望結果看起來像這樣:[1,1,6,1,0,1,1,2,0,1,1,6]

我現在正在處理的代碼如下所示:

var array_gesplit = new Array; 

for(var i=0; i< array_code.length; i++){
    console.log(array_code[i])
    while (array_code[i]) { 
        array_gesplit.push(array_code[i] % 10 );
        array_code[i] = Math.floor(array_code[i]/10);

    }
}

我從中得到的結果是: [ 6, 1, 1, 1, 0, 1, 0, 2, 1, 6, 1, 1 ]

誰能幫我 ?

您可以Array.from()使用Array.from()方法:

 var array_code = [116,101,120,116]; var result = Array.from(array_code.join(''), Number) console.log(result)

解釋:

  • array_code.join('')創建一個類似"116101120116"的字符串
  • Array.from('116101120116')在這個字符串上產生新的字符串數組,如:
    • ["1", "1", "6", "1", "0", "1", "1", "2", "0", "1", "1", "6"]
  • 我們還可以將Array.from()與 map 函數一起使用,以便我們可以在一行中將所有這些字符串值轉換為 Number,例如:
    • Array.from(array_code.join(''), x => Number(x))
    • 或者,只是Array.from(array_code.join(''), Number)
    • 上面的邏輯結果就是需要的輸出。

您可以使用flatMap()並將數字轉換為字符串並使用內置的split()方法。

 var array_code = [116,101,120,116]; const res = array_code.flatMap(x => x.toString().split('').map(Number)); console.log(res)

您可以使用字符串和地圖編號。

 var code = [116, 101, 120, 116], result = code.flatMap(v => Array.from(v.toString(), Number)); console.log(result);

這是使用 JavaScript 語言的一些細節的黑客:

 var array_code = [116, 101, 120, 116]; var array_string = JSON.stringify(array_code); var array_parts = [].slice.call(array_string); var parts = array_parts.slice(1, -1); // get rid of the square brackets console.log(parts);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM