【问题标题】:Split an array into two Parts [closed]将数组拆分为两部分 [关闭]
【发布时间】:2021-10-26 15:46:42
【问题描述】:

我们如何将一个数组拆分或分割成两个新数组?

SingleARR = [7,5,6,4,3,2,4,5,4,2,8,8]; 

一个数组应该有不重复的值 另一个具有重复的值。此外,两个新数组应该有不同的元素。

【问题讨论】:

  • 请包含您的代码并告诉我们发生了什么问题,以便有人可以提供帮助。
  • 人们似乎误读了这个问题。我认为结果应该是两个数组:[3,6,7](非重复)和[2,4,5,8](重复)。
  • @VLAZ OP 想要将一个数组一分为二,而不是将二合二为一。
  • @kol 感谢您的更正。我不知何故完全误读了这个问题......

标签: javascript node.js arrays for-loop


【解决方案1】:

首先,计算频率。然后按频率过滤它,如果它是一个则不重复并将其推入一个数组。然后再次按频率过滤,如果大于1则重复推入

 let a = [7, 5, 6, 4, 3, 2, 4, 5, 4, 2, 8, 8];
    
    let ret = a.reduce((p, c) => {
      if (!p[c]) p[c] = 1;
      else p[c] += 1;
      return p;
    }, {});
    let x = [];
    let y = [];
    console.log(ret);
    for (prop in ret) if (ret[prop] === 1) x.push(+prop);
    for (prop in ret) if (ret[prop] > 1) y.push(+prop);
    console.log(x);
    console.log(y);

它进入另一个数组。

【讨论】:

  • 一般来说,Stack Overflow 不是一个写代码、做作业的服务。我们应该鼓励发帖者首先尝试解决他们的问题,而不是我们在他们没有努力的时候简单地为他们编写所有代码。
  • 过滤步骤为什么不用Array.prototype.filter()
猜你喜欢
  • 2014-12-22
  • 1970-01-01
  • 2018-01-06
  • 2020-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
相关资源
最近更新 更多