从javascript对象中删除较少的序列计数
我有一个数组对象,对象中的每个值都是由多个数字序列组成的数组 我想删除那些计数小于10的序列 在给定的输入中,第0个值有3个序列,2到4不超过10个序列号,因此我们需要删除它,剩余的2个序列计数大于10 我在下面的输入中添加了空格仅供参考,这样您就可以看到该数组中存在序列中断,找到该序列的计数,如果计数小于10,则删除该序列 输入:从javascript对象中删除较少的序列计数,javascript,arrays,object,data-structures,ecmascript-6,Javascript,Arrays,Object,Data Structures,Ecmascript 6,我有一个数组对象,对象中的每个值都是由多个数字序列组成的数组 我想删除那些计数小于10的序列 在给定的输入中,第0个值有3个序列,2到4不超过10个序列号,因此我们需要删除它,剩余的2个序列计数大于10 我在下面的输入中添加了空格仅供参考,这样您就可以看到该数组中存在序列中断,找到该序列的计数,如果计数小于10,则删除该序列 输入: { '0': [ 2, 3, 4, 7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 2
{ '0': [ 2, 3, 4, 7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25,26,27,28,29,30,31,32 ],
'3': [ 0, 1,2,3,4,5,6,7,8,9,10,11,12,13, 15,16,17,18,22,23,24 ] }
输出:
{
'0': [7, 8, 9, 10, 11,12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25,26,27,28,29,30,31,32],
'3': [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13]
我无法完成逻辑
for (var key in emptyMap) {
let count = [];
let initialVal = emptyMap(key)[0];
removeEmptyMap[key] = [];
for (let i = 1; i < emptyMap(key).length; i++) {
if ((emptyMap(key)[i] === initialVal + 1)) {
count[key].push(emptyMap(key)[i])
} else if (count.pop() < 10) {
initialVal = emptyMap(key)[i];
} else {
initialVal = emptyMap(key)[i];
}
}
console.log()
}
for(清空映射中的var键){
让计数=[];
让initialVal=emptyMap(键)[0];
removeEmptyMap[键]=[];
for(设i=1;i
首先,您需要创建一个包含每个序列的数组数组。然后返回值大于10
的数组的组合。将此方法应用于您的obj
let obj={'0':[2,3,4,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28,29,30,31,32],
'3':
[ 0, 1,2,3,4,5,6,7,8,9,10,11,12,13, 15,16,17,18,22,23,24 ] }
函数getSeq(arr,len){
设seq=[[]];
对于(设i=0;i a.length console.log(obj)
如果我理解正确,您需要这个。这是一个完美的任务
var obj=
{ '0': [ 2, 3, 4,7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25,26,27,28,29,30,31,32 ],
'3': [ 0, 1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 22, 23, 24 ] }
console.log('input',obj)
var总和=0
for(设i=0;i=10){
obj['0'].拼接(0,i)
打破
}
}
console.log('output',obj)
从数组中具有较少序列的表示什么?数组中的空格从不表示序列中断如何定义“序列”?我在这里只看到2个数组。如前所述,此问题不清楚。如果我理解正确,您只想更改第0个数组吗?当你说2到4不超过10时,你的意思是2+3+4Ah,我明白了,那么你在第一个序列中将序列定义为顺序整数?第二个怎么了?看起来您在12
和13
之间添加了一个换行符,根据您的第一个定义,它应该是一个单独的序列。我建议返回seq.filter(a=>a.length>=10)。flat()
though@Bergiflat
还不是标准。Edge不支持它。@Bergi flat()在nodejs中给出了错误,这是另一个函数吗?DPac是对的,您将需要一个用于旧平台的多边形填充-请看我与我的英语混淆了,我不想要数字的总和,我想要序列中断索引及其索引。一旦我得到序列中断索引,然后我要每个数组中每个序列的计数,哪个序列大于10,然后我要那个序列,你说的“序列断裂指数”是什么意思?