Javascript 从一个数组生成两个数组
我想从一个数组中创建两个数组,如下所示Javascript 从一个数组生成两个数组,javascript,node.js,arrays,for-loop,Javascript,Node.js,Arrays,For Loop,我想从一个数组中创建两个数组,如下所示 SingleARR = [7,5,6,4,3,2,4,5,4,2,8,8]; 一个数组应该具有不重复的值 另一个有重复的值。而且两者都应该有彼此不同的元素。首先,计算频率。然后根据频率对其进行过滤,如果是不重复的频率,则将其推入一个阵列。然后再次按频率对其进行过滤,如果大于1,则重复并推送 a=[7,5,6,4,3,2,4,5,4,2,8]; 让ret=a.reduce((p,c)=>{ 如果(!p[c])p[c]=1; 否则p[c]+=1; 返回p
SingleARR = [7,5,6,4,3,2,4,5,4,2,8,8];
一个数组应该具有不重复的值
另一个有重复的值。而且两者都应该有彼此不同的元素。首先,计算频率。然后根据频率对其进行过滤,如果是不重复的频率,则将其推入一个阵列。然后再次按频率对其进行过滤,如果大于1,则重复并推送
a=[7,5,6,4,3,2,4,5,4,2,8];
让ret=a.reduce((p,c)=>{
如果(!p[c])p[c]=1;
否则p[c]+=1;
返回p;
}, {});
设x=[];
设y=[];
控制台日志(ret);
如果(ret[prop]==1)x.push(+prop),则为(ret中的prop);
对于(后推中的支柱)如果(后推[支柱]>1)y推(+支柱);
控制台日志(x);
控制台日志(y)代码>请包含您的代码,并告诉我们失败的原因,以便有人能够提供帮助。人们似乎误解了问题。我认为结果应该是两个数组:[3,6,7]
(非重复)和[2,4,5,8]
(重复)。@VLAZ OP希望将一个数组拆分为两个,而不是将两个数组合并为一个。@kol感谢您的更正。不知何故,我完全误解了这个问题……一般来说,堆栈溢出不是一种编写代码、做作业的服务。我们应该鼓励海报首先尝试解决他们的问题,而不是在他们不努力的情况下简单地为他们编写所有代码。对于过滤步骤,为什么不使用Array.prototype.filter()
?