-1

I have an array like this:

       ['', 'Monday', '', '', 'Thursday', '', 'Saturday']
       OR,
       Monday,Thursday,saturday

I want output like;

       ['Monday', 'Thursday','Saturday']



      

AND,When i map this array I want to print only first 3 letters of the strings of the array like below;

       Mon,Thu,Sat

How to achive this????

Thanks in advance.....

Andrew
  • 17
  • 5

3 Answers3

0
  • use filter to remove falsy values then,
  • using map and slice to get first 3 characters as below

const filtered = ["", "Monday", "", "", "Thursday", "", "Saturday"]
  .filter(Boolean)
  .map((day) => day.slice(0, 3));
console.log(filtered);
KcH
  • 3,302
  • 3
  • 21
  • 46
0

Use filter:

var array = ['', 'Monday', '', '', 'Thursday', '', 'Saturday'];
var output = array.filter(x => x !== '')
                  .map(x => x.substring(0, 3));
console.log(output);
Tim Biegeleisen
  • 502,043
  • 27
  • 286
  • 360
0

Using filter(Boolean) will make it more shorter

let data = ['', 'Monday', '', '', 'Thursday', '', 'Saturday']
data = data.filter(Boolean).map(d => d.substring(0,3))
console.log(data)
flyingfox
  • 13,414
  • 3
  • 24
  • 39