Working in d3.js, my data is something like this (but much longer):
var all = [{
"tp_ot_avg": 0.003,
"tp_ot_s": 24.7,
"tp_overlap_pc_s": 45.7,
"tp_ot_avg_s": 0.005,
"sw_adult": 74,
"sw_overlap": 6,
"sw_child": 7,
"sw_pause": 13
}];
I want to filter it by key name; the desired output is this:
var data = {
"sw_adult": 74,
"sw_overlap": 6,
"sw_child": 7,
"sw_pause": 13
};
So far, nothing I've tried has worked!
ATTEMPT 1:
var data = all.filter(function (a) {
return (
a.key == "sw_adult" ||
a.key == "sw_child" ||
a.key == "sw_overlap" ||
a.key == "sw_pause"
);
});
ATTEMPT 2:
tokeep = ["sw_adult", "sw_child", "sw_overlap", "sw_pause"]
var data = all.filter(function(d,i){ return tokeep.indexOf(d.key) >= 0 })
ATTEMPT 3:
var data = d3.selectAll("all").filter(
all.key == "sw_adult" ||
all.key == "sw_child" ||
all.key == "sw_overlap" ||
all.key == "sw_pause"
);
What am I doing wrong?