我想动态构建一个最终看起来像这个
的数组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]
];
从这一点开始,其余的代码非常hacky,因为我希望它在实际简化之前能够工作......
我在上面构建我的字符串
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]"]
如果没有每个索引周围的“s”,我怎么会得到相同的数组呢?或者我完全以错误的方式处理这个问题?我没有太多使用这种方式使用数组的经验,所以我是不确定它是否可以动态构建,甚至可以在何处开始构建。
编辑/更新: 缺少gd函数!!
function gd(year, month, day) {
return new Date(year, month - 1, day).getTime();
}
答案 0 :(得分:3)
如果你真的想要你在第一个例子中的确切内容,那么你将构建如下:
var data2 = [];
// For each item:
data2.push([gd(thisYear, thisMonth, thisDay), thisInt]);
答案 1 :(得分:1)
直接推送数组而不是字符串形式:
data2.push( [ 'gd(' + thisYear + ',' + thisMonth + ',' + thisDay + ')', thisInt ] );