Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript对象中的推送和取消移动操作_Javascript - Fatal编程技术网

javascript对象中的推送和取消移动操作

javascript对象中的推送和取消移动操作,javascript,Javascript,我有以下数据集 输入: dataset[0]=[{data:29, color:"y"},{data:44, color:"g"}] dataset[1]=[{data:16, color:"r"},{data:23, color:"m"},{data:23, color:"b"}] dataset[0]=[{data:29, color:"y"},{data:44, color:"g"},{data:0, color:null},{data:0, color:null},{data:0, c

我有以下数据集

输入:

dataset[0]=[{data:29, color:"y"},{data:44, color:"g"}]
dataset[1]=[{data:16, color:"r"},{data:23, color:"m"},{data:23, color:"b"}]
dataset[0]=[{data:29, color:"y"},{data:44, color:"g"},{data:0, color:null},{data:0, color:null},{data:0, color:null}]
dataset[1]=[{data:0, color:null},{data:0, color:null},{data:16, color:"r"},{data:23, color:"m"},{data:23, color:"b"}]
我在条形图上显示这些信息,但条形图试图对它们进行分组。它并没有给我我所期望的

因此,在输入条形图之前,我需要有以下输出

通过添加
{data:0,color:null}
来匹配两个数据集长度的所需输出背后的逻辑有两件事涉及
unshift
push
操作

所需输出:

dataset[0]=[{data:29, color:"y"},{data:44, color:"g"}]
dataset[1]=[{data:16, color:"r"},{data:23, color:"m"},{data:23, color:"b"}]
dataset[0]=[{data:29, color:"y"},{data:44, color:"g"},{data:0, color:null},{data:0, color:null},{data:0, color:null}]
dataset[1]=[{data:0, color:null},{data:0, color:null},{data:16, color:"r"},{data:23, color:"m"},{data:23, color:"b"}]
初始尝试

我是这样做的

dataset=[];
数据集[0]=[{数据:29,颜色:“y”},{数据:44,颜色:“g”}]
数据集[1]=[{数据:16,颜色:“r”},{数据:23,颜色:“m”},{数据:23,颜色:“b”}]
sum1=数据集[0]。长度
sum2=数据集[1]。长度

对于(i=0;i根据我在评论中的建议,有很多方法可以做到这一点。我建议的方法只是使用一个虚拟值(如我所提到的):


这使您可以清楚地了解数据应该在哪里,并且不需要太多额外的代码。

在前面插入称为“数组取消移位”操作,可以作为
dataset[1]执行。取消移位({data:0,color:null},{data:0,color:null})
。请参见此处:。这是问题的主要部分;其他所有内容都是
push()
(如上面的链接所示)或
splice()
,如图所示:可能重复的请检查我的解决方案,是否有更好的方法?我不知道是否有更好的方法;因为数据的预期位置不统一,如果不给它某种形式,你就不能真正说出应该在数据中插入伪值的位置。可能是makin为图形中的每一列创建一个具有特定数据字段的对象,或者创建一个可以放置在适当位置的虚拟条目?但是,我正在寻找模块化代码。为了处理各种场景。我可以添加虚拟数据,但背后应该有逻辑。我对您的工作进行了优化。请记住,您还可以将标志值和函数嵌入到ob中jects;这可能是一种向系统中添加逻辑的方法,在处理数据集时,您可以检查标志或调用函数,对象本身决定接下来发生什么。