如何在JavaScript中创建这样的数组?

时间:2011-12-08 08:26:14

标签: javascript arrays multidimensional-array

我想创建一个这样的数组:

s1 = [[[2011-12-02, 3],[2011-12-05,3],[5,13.1],[2011-12-07,2]]];

如何使用for循环创建它?我有另一个包含值为

的数组
2011-12-02,3,2011-12-05,3,2011-12-07,2

4 个答案:

答案 0 :(得分:1)

可能的解决方案之一:

var input = ['2011-12-02',3,'2011-12-05',3,'2011-12-07',2]
//or: var input = '2011-12-02,3,2011-12-05,3,2011-12-07,2'.split(",");
var output = [];
for(i = 0; i < input.length; i += 2) {
  output.push([t[i], t[i + 1]])
}

答案 1 :(得分:0)

如果您的价值观总是成对出现:

var str = '2011-12-02,3,2011-12-05,3,2011-12-07,2',//if you start with a string then you can split it into an array by the commas
    arr = str.split(','),
    len = arr.length,
    out = [];

for (var i = 0; i < len; i+=2) {
    out.push([[arr[i]], arr[(i + 1)]]);
}

out变量是您请求的格式的数组。

这是一个jsfiddle:http://jsfiddle.net/Hj6Eh/

答案 2 :(得分:0)

我想你想创建一个包含一组数组的数组。

var myArray = [];
for(var i=0; i<100;i++){
   myArray.push([2011-12-02, 3]); // The values inside push should be dynamic as per your requirement
}

答案 3 :(得分:0)

var s1 = [];

for (x = 0, y = something.length; x < y; x++) {
    var arr = [];
    arr[0] = something[x].date;
    arr[1] = something[x].otherVal;
    s1.push(arr);
}

我在这里猜到,日期和其他数值是某些其他对象的属性,但不一定是这种情况......