我想创建只有当每个数据集.data(londonTemp,nyTemp)的数据高于0时才包含x-amount数据集的对象。我的尝试是将if
放在前面第二个数据集对象,但不能这样做。
var container = {
temp : {
labels: "",
datasets: [
{
label: "London",
type: "bar",
data: londonTemp
},
{ // this object
label: "NY", // to exist
type: "line", // only if
data: nyTemp // nyTemp > 0
}
]
}
};
答案 0 :(得分:6)
将此对象推送到单独的if
块中:
var container = {
temp: {
labels: "",
datasets: [{
label: "London",
type: "bar",
data: londonTemp
}]
}
};
if (nyTemp > 0) {
container.temp.datasets.push({
label: "NY",
type: "line",
data: nyTemp
})
}
答案 1 :(得分:2)
另一种方法是过滤所有数据大于0
的项目。
container.temp.dataset.filter(item => item.data > 0);
我个人认为使用filter
比使用if
+ push
更清晰,更强大。
答案 2 :(得分:2)
我会过滤数据> 0
var container = {
temp : {
labels: "",
datasets: [
{
label: "London",
type: "bar",
data: 5
},
{ // this object
label: "NY", // to exist
type: "line", // only if
data: 0 // nyTemp > 0
}
]
}
};
container.temp.datasets = container.temp.datasets.filter(function(one){return one.data > 0});