0

如果我有一个 JavaScript 数组:

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

我想像这样制作一个新的二维数组:

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

我知道这应该很简单,但我就是想不通……今天我的大脑有点慢……:/

4

2 回答 2

5

在不同的枢轴位置加入字符串。

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

这输出:

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

我不确定在输出中嵌套单个元素数组是否是一个错误,但如果需要,只需在push.

于 2013-03-21T09:56:20.267 回答
1

您可以像这样map结合使用concat

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

// => [ ["12345678"], ["34567812"], ["56781234"], ["78123456"] ];
于 2013-03-21T09:59:07.533 回答