Javascript 如何将数据两次推入对象
是否有可能将某些数据推入一个对象两次并得到一个结果?我有以下代码:Javascript 如何将数据两次推入对象,javascript,Javascript,是否有可能将某些数据推入一个对象两次并得到一个结果?我有以下代码: var t = data.datasets, var data = { datasets : (function(){ var arr = []; for (var i=0; i < t.length; i++) { arr.push({ label: t[i].label, data: t[i
var t = data.datasets,
var data = {
datasets : (function(){
var arr = [];
for (var i=0; i < t.length; i++) {
arr.push({
label: t[i].label,
data: t[i].values
});
if (t[i].color === "red"){
arr.push({
fillColor: "rgba(223, 34, 155, 0.48)"
});
} else {
arr.push({
fillColor: "rgba(167, 167, 167, 0.64)"
});
}
}
return arr;
})()
};
或者我必须在每个条件下推送重复值include?为什么不这样做:
for (var i=0; i < t.length; i++) {
var temp = {
label: t[i].label,
data: t[i].values
};
if (t[i].color === "red"){
temp.fillColor = "rgba(223, 34, 155, 0.48)";
} else {
temp.fillColor: = "rgba(167, 167, 167, 0.64)";
}
arr.push(temp);
}
我建议构建一个“holder”变量,然后按一下 伪代码
var holder = data;
if(a)
holder+=moredata;
else
holder+=otherdata;
然后执行单推
arr.push(holder);
那么,像这样的事情
for (var i=0; i < t.length; i++) {
var fillColor = t[i].color === 'red' ?
"rgba(223, 34, 155, 0.48)" :
"rgba(167, 167, 167, 0.64)";
arr.push({
label: t[i].label,
data: t[i].values,
fillColor: fillColor
});
}
这仍然不能回答这些问题,但我不太了解您在这一点上试图做些什么来给您提供任何建议。不幸的是,您的问题很难理解。此外,如果代码看起来是这样的话,那么代码将无法工作-代码在定义数据对象之前初始化了t,因此t充其量是未定义的,否则它将抛出异常,因为数据也未定义。不明白您到底想做什么。你想根据某些条件在JSON中插入不同的值吗?我已经编辑了我的问题,只需一次性推送整个对象,这不是JSON。这只是一个普通的Javascript对象。很棒的解决方案,非常感谢您的帮助,这就是我所需要的!Chears!
arr.push(holder);
for (var i=0; i < t.length; i++) {
var fillColor = t[i].color === 'red' ?
"rgba(223, 34, 155, 0.48)" :
"rgba(167, 167, 167, 0.64)";
arr.push({
label: t[i].label,
data: t[i].values,
fillColor: fillColor
});
}