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

82
Views
Return undefined on empty nested arrays with flat

I'm using flat() to count the number of empty or undefined items inside a nested array.

[[undefined, 4], [4]]

Using flat on this array will return 3 items:

  1. undefined
  2. 4
  3. 4

However on this array:

[[], [], []]

using flat will return an empty array.

Is there a way to use it so it returns 3 undefined items?

almost 4 years ago · Santiago Trujillo
3 answers
Answer question

0

You have to use flatMap for this reason:

[[], [], []].flatMap(item => item.length ? item : undefined)

returns what you need

almost 4 years ago · Santiago Trujillo Report

0

arr=[[],[],[]]

console.log(arr.reduce((acc, val) => acc.concat(val==''?undefined:val),[]));

according to js MDN docs combination of reducer and concat simmilar to the exact Array.prototype.flat function. therefor altering it you can get your expected answer.the code for that is as above.

almost 4 years ago · Santiago Trujillo Report

0

If your array is n-level nested then you can create recursive function to achieve the desired result:

const flat = arr => arr.flatMap(o=> o?.length ? flat(o) : Array.isArray(o) ? undefined : o );

console.log(flat([[], [], []]));
console.log(flat([[undefined, 4], [4]]));
console.log(flat([[undefined, [[],[],[]], 4], [4,[]]]));

almost 4 years ago · Santiago Trujillo 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!