使用数组(javascript)构建数组
如何在javascript中构建执行以下操作的函数: 输入:使用数组(javascript)构建数组,javascript,Javascript,如何在javascript中构建执行以下操作的函数: 输入: var data = [null, 1, 2, 3, null, null, 2, null, 4] 输出: dataset = [ [null, 1, 2, 3, null, null, null, null, null], [null, null, null, null, null, null, 2, null, null], [null, null, null, null, null, null, null, null, 4
var data = [null, 1, 2, 3, null, null, 2, null, 4]
输出:
dataset = [
[null, 1, 2, 3, null, null, null, null, null],
[null, null, null, null, null, null, 2, null, null],
[null, null, null, null, null, null, null, null, 4],
]
事实上,在本例中,我的输入有3组非空值:这些集合是:[1,2,3],[2]和[4]
从这些集合中,我希望构建具有这些值(非空集合)且与输入数组保留相同索引的数组
谢谢给你
var a=[null,1,2,3,null,2,null,null,4,null];
变量b=[];//结果
for(var arr=null,i=0;i
以下是我的结果:
var data = [null, 1, 2, 3, null, null, 2, null, 4];
var dataset = [[]];
for(var i = 0; i < data.length; i++) {
if(!data[i]) {
if(!data[i-1]) {
dataset[dataset.length-1].push(data[i]);
} else {
for(var fillRight = i; fillRight < data.length; fillRight++) {
dataset[dataset.length-1].push(null);
}
dataset.push([null]);
for(var fillLeft = 0; fillLeft < i; fillLeft++) {
dataset[dataset.length-1].push(null);
}
}
} else {
dataset[dataset.length-1].push(data[i]);
}
}
var data=[null,1,2,3,null,null,2,null,4];
var数据集=[[]];
对于(变量i=0;i
只是一个带有
var data=[null,1,2,3,null,null,null,2,null,4],
结果=[];
数据还原(函数(r,a,i){
如果(a!==null){
如果(r==null){
push(Array.apply(null,{length:data.length}).map(函数(){returnnull;}));
}
结果[result.length-1][i]=a;
}
返回a;
},空);
document.write(“”+JSON.stringify(结果,0,4)+“”)你能解释一下输入是如何变成输出的吗?这是基于这个问题:你怎么知道,@CodeiSir?我相信拥有多个账户是不可取的,因为一个人可能会被诱惑对自己的问题投上一票。输出的输入没有任何意义。为什么第一个数组任意保留三个非空值,而其他两个数组只保留一个?@PraveenKumar我假设了相同的情况,但数组拆分到新行的位置没有意义。我可以理解每行一个非空值,甚至可以将其分成三个,但这两个都不起作用。嗨,CodeiSir,很好,谢谢你,但是它并不能完成所有的工作:我得到的结果是:[null,1,2,3,undefined×5][null,null,null,null,null,null,2,undefined×2][null,null,null,null,null,null,null,null,4]我想在进入循环之前,结果表应该用null填充?你也可以先用null填充数组,然后把新项放在正确的位置。会更有效,因为我没时间now@taboubim它给了我[[null,1,2,3,null,null,null,null],[null,null,null,null,null,2,null,null,null],[null,null,null,null,null,null,4]
,正如您在输出中看到的那样