簡體   English   中英

從常規數組創建新的2D數組

[英]Creating a new 2D array from regular array

如果我有一個JavaScript數組:

a = ["12", "34", "56", "78"];

我想制作一個新的2D數組,如下所示:

b = [ ["12345678"], ["34567812"], ["56781234"], ["78123456"] ];

我知道這應該很簡單,但我只是想不通...今天我的大腦有點慢...:/

在不同的樞軸位置連接字符串。

n = [];
for(i = 0; i < a.length; i++){
    n.push(a.slice(i).join("") + a.slice(0,i).join(""));
}

輸出:

[ "12345678", "34567812", "56781234", "78123456" ]

我不確定在輸出中嵌套單個元素數組是否是一個錯誤,但是如果需要,只需在push添加方括號即可。

您可以將mapconcat結合使用,如下所示:

var newA = a.map(function() {
    var copy = a.slice();
    return [copy.concat(copy.splice(0, arguments[1])).join('')];
});

// => [ ["12345678"], ["34567812"], ["56781234"], ["78123456"] ];

暫無
暫無

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

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