0

我想动态构建一个最终看起来像这样的数组

var data2 = [
    [gd(2013, 5, "23"), 33], [gd(2013, 5, 24), 41], [gd(2013, 5, 25), 29], [gd(2013, 5, 26), 12], [gd(2013, 5, 28), 17]
];

从这一点开始,其余的代码就变得非常老套了,因为我希望它在真正简化之前就可以工作......

我像上面一样构建我的字符串

varData = '[gd(' + thisYear + ',' + thisMonth + ',' + thisDay + '),' + thisInt + ']';

然后我把它推到数组 data2

data2.push(varData);

这创建了输出这个的数组 -

["[gd(2013,23,5),4]", "[gd(2013,24,5),41]", "[gd(2013,28,5),4]"]

如果每个索引周围没有“”,我将如何获得相同的数组?或者我是否以完全错误的方式处理这个问题?我没有太多以这种方式使用数组的经验,所以我不确定是否它可以动态构建,甚至可以从哪里开始。

编辑/更新:缺少 gd 功能!!

function gd(year, month, day) {
    return new Date(year, month - 1, day).getTime();
}
4

2 回答 2

3

如果您真的想要第一个示例中的内容,那么您可以这样构建:

var data2 = [];

// For each item:
data2.push([gd(thisYear, thisMonth, thisDay), thisInt]);
于 2013-05-28T13:46:45.747 回答
1

只需直接推送数组,而不是以字符串的形式:

data2.push( [ 'gd(' + thisYear + ',' + thisMonth + ',' + thisDay + ')', thisInt ] );
于 2013-05-28T13:41:37.367 回答