将数据推入方括号内的数组中

时间:2013-06-28 18:11:51

标签: javascript arrays

var a = ['NYC', 'Boston', 'London', 'NYC', 'Boston', 'NYC', 'Sfo', 'Boston', 'Sfo', 'London', 'Edison', 'Sfo', 'NYC', 'charlotte', 'Edison', 'NYC', 'Manchester'];
a = a.reduce(function (acc, curr) {
    if (typeof acc[curr] == 'undefined') {
        acc[curr] = 1;
    } else {
        acc[curr] += 1;
    }
    return acc;
}, {});

步骤1:执行上述代码后,变量a将如下所示 a = ['NYC':5,'London':2,'Boston':3,'Sfo':3,'Edison':2,'Manchester':1]

步骤2:在数据总和内部推送数组a,如下所示

var datasum = [
    ['NYC', 5],
    ['London', 2],
    ['Boston', 3],
    ['Sfo', 3],
    ['Edison', 2]
    ['Manchester', 1]
];

如何在Javascript中如上所示在“Datasum”中推送变量“a”?任何帮助非常感谢。

注意: - 如果您只想在上述数据变量中推送变量a,请使用datasum.push()

1 个答案:

答案 0 :(得分:3)

您的问题并不完全清楚,但我认为您希望生成datasum,如a所示。只需按a就行不了。但是你可以这样做:

var datasum = [];
for (var i in a) { datasum.push([i, a[i]]);

请注意,这并不保证datasum

元素的特定顺序