Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

161
Views
How can I find & groups pairs from an array while changing the original array?

So for ex. I have this array with these values :

let arr = [1, 2, 3, 3, 3, 4, 4];

How can I get a new arr as :

let newArr = [3, 3, 4, 4];

while at the same time the original array should be changed as :

let arr = [1, 2, 3];

one 3 is left behind cause there is only one pair of 3.

I tried this code below ( a for loop & splice ) but it is not working properly.

let result = [];

for (let i = 0; i < sorted.length; i++) {
    if (sorted[i] === sorted[i + 1]) {
        let pair = sorted.splice(i, 1);
        pair.forEach(el => result.push(el));
    }
}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Few things corrected,

  1. You need to splice two items from the point you see duplicates. Try like this.
  2. Iteration stop condition should be i < sorted.length - 1 as we consider two consecutive items.
  3. Use Array.prototype.concat to join duplicates to the result array.

let sorted = [1, 2, 3, 3, 3, 4, 4];
let result = [];

for (let i = 0; i < sorted.length - 1; i++) {
    if (sorted[i] === sorted[i + 1]) {
        let pair = sorted.splice(i, 2);
        result = result.concat(pair);
        i--;
    }
}

console.log(sorted)
console.log(result)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!