【发布时间】:2016-01-21 21:39:25
【问题描述】:
我有一个使用 jQuery CSV (https://github.com/evanplaice/jquery-csv/) 转换为 jQuery 对象的 csv 文件。
下面是代码:
$.ajax({
type: "GET",
url: "/path/myfile.csv",
dataType: "text",
success: function(data) {
// once loaded, parse the file and split out into data objects
// we are using jQuery CSV to do this (https://github.com/evanplaice/jquery-csv/)
var data = $.csv.toObjects(data);
});
我需要对对象中的键值求和。具体来说,我需要将公司的 bushels_per_day 值加起来。
对象格式如下:
var data = [
"0":{
beans: "",
bushels_per_day: "145",
latitude: "34.6059253",
longitude: "-86.9833417",
meal: "",
oil: "",
plant_city: "Decatur",
plant_company: "AGP",
plant_state: "AL",
processor_downtime: "",
},
// ... more objects
]
这不起作用:
$.each(data, function(index, value) {
var capacity = value.bushels_per_day;
var company = value.plant_company.replace(/\W+/g, '_').toLowerCase();
var sum = 0;
if (company == 'agp') {
sum += capacity;
console.log(sum);
}
});
它只是返回每个公司的前导零的值:
0145
0120
060
等等
我该怎么做?
【问题讨论】:
-
您的数据包含字符串,需要使用
parseInt()转成数字。 -
那是
"0"的实际属性吗?如果是这样,那不是一个有效的数组...数组没有键/值对,对象有。 -
@timeJV - 它是一个对象。
标签: jquery each jquery-csv