我正在尝试计算csv中每个项目的出现次数。我的csv就像:
$(function() {
$('#side-menu').metisMenu();
});
我正在使用if else来比较事件。但它不是比较字符串而只是递增计数器。
我的代码如下:
date item
8/10/2015 mobile
1/25/2015 mobile
10/28/2015 mobile
11/9/2015 mobile
8/2/2015 mobile
9/24/2015 0:00 laptop
9/30/2015 0:00 laptop
5/15/2015 0:00 laptop
7/7/2015 0:00 laptop
我的输出应该是:
<div>
<select id="mySelect" onchange="onChange()">
<option value="2016">2016</option>
<option value="2015">2015</option>
<option value="2014">2014</option>
</select>
</div>
<script>
function onChange(){
var selectobject = document.getElementById("mySelect");
var MBct = 0;
var LPct = 0;
d3.csv("item2.csv", function(error,data) {
data.forEach(function(d) {
var date = d.date;
var item = d.item;
a = d.date.split(" ",1);
b=a[0].split("/");
d.year = b[2]*1;
console.log("MBct:"+MBct);
if(selectobject.value == d.year){
console.log("Entered if loop:selectobject.value="+selectobject.value+" ,d.year="+d.year);
console.log("item:"+item);
if(d.item === "mobile"){
MBct = MBct + 1;
console.log("MBct:"+MBct);
}
else if(d.item === "laptop"){
LPct = LPct + 1;
console.log("LPct:"+LPct);
}
else console.log("not present");
})})}
</script>
它来了:MBct:9,LPct:0
任何人都有任何想法??`
答案 0 :(得分:0)
您d3.csv(
,function(error) {
以及最重要的data.forEach(function(d) {
括号不合近。
编辑: 在jsfiddle中看到你的javascript:https://jsfiddle.net/HollyPony/my5rcqkr/1/
你的括号不匹配......
Protips:打开一个IDE时,使用IDE自动关闭括号。或旧学校方式,手动开始关闭你的括号,然后写入。