推送到没有引号的数组,或从数组中删除引号

时间:2013-05-28 13:39:26

标签: javascript jquery

我想动态构建一个最终看起来像这个

的数组
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();
}

2 个答案:

答案 0 :(得分:3)

如果你真的想要你在第一个例子中的确切内容,那么你将构建如下:

var data2 = [];

// For each item:
data2.push([gd(thisYear, thisMonth, thisDay), thisInt]);

答案 1 :(得分:1)

直接推送数组而不是字符串形式:

data2.push( [ 'gd(' + thisYear + ',' + thisMonth + ',' + thisDay + ')', thisInt ] );
相关问题