【发布时间】:2013-12-06 16:13:43
【问题描述】:
我正在尝试使用 javascript 来迭代一个对象并将一个属性的值按另一个属性的值分组。这是我正在迭代的示例数据:
63.450, 2013-01-01 00:00:00, 63.450, 2013, Amex Residuals
3.980, 2013-01-01 00:00:00, 3.980, 2013, Gift Cards on Demand
-16.000, 2013-01-01 00:00:00, -16.000, 2013, Month End Fee Rejects
67.140, 2013-02-01 00:00:00, 67.140, 2013, Amex Residuals
-600.000, 2013-02-01 00:00:00, -600.000, 2013, Bonus Take Back - Closed Less Than 6 Months
-400.000, 2013-02-01 00:00:00, -400.000, 2013, Bonus Take Back - Did Not Activate
8.910, 2013-02-01 00:00:00, 8.910, 2013, Checks On Demand
13997.770, 2013-02-01 00:00:00, 13997.770, 2013, Global Report
-15.000, 2013-02-01 00:00:00, -15.000, 2013, Merchant Adjustments
-34.500, 2013-02-01 00:00:00, -34.500, 2013, Month End Fee Rejects
第二列中的数据继续包括其他月份(截至 10 月)。我需要将每个不同月份的第一列中的所有值相加,并从第 4 列年份创建一个 javascript 日期,因此结果应该是这样的:
var data = [ [Date.UTC('2013', i, 1), parseFloat('51.43')], [Date.UTC('2013', i, 1), parseFloat(13024.32)] ];
基本上,我应该为每个月的总和与第 4 列中的日期对象元组生成一个 2 元素数组。我只是不确定如何进行迭代以对第二列(日期)的条件分组求和。
【问题讨论】:
-
你提到了多维数组。这是通过将上述文本按行拆分然后在 ,+空格上拆分吗?另外,当第二列中提供了更详细的信息时,为什么还需要第四列中的信息?
-
@ScottMermelstein 我无法按照浏览器控制台检查器中显示的方式发布 javascript 对象,因此我在原始数据被拆分和 json 编码之前发布了它。本质上,javascript 将操作的数据是具有内部属性的标准 javascript 对象。你对第 4 列和第 2 列的看法是正确的。我想我可以拆分第 2 列的内容,或者将该字符串转换为 javascript 日期对象而不是当前方法...
标签: javascript arrays multidimensional-array sum