wali
wali

Reputation: 625

How can i remove empty string from array inside array

I need to remove the empty string from the array inside another array and I need to return the whole array without an empty string, can anyone help me with this, array is below

const testArr =  [
        {
            code: 'size',
            name: 'Size',
            options: ['small', "", "", "large"],
          
        },
        {
            code: 'color',
            name: 'COlor',
            options: ['black', "", "", "red"],
          
        },
    ]

I need result like this(without empty string)

[
    {
        code: 'size',
        name: 'Size',
        options: ['small', "large"],

    },
    {
        code: 'color',
        name: 'COlor',
        options: ['black', "red"],

    },
]

Upvotes: 0

Views: 252

Answers (1)

Yousaf
Yousaf

Reputation: 29282

Use .map() method to iterate over testArr and transform its elements and use .filter() method on the options array in each object, to filter out the empty strings.

const testArr = [
  { code: 'size', name: 'Size', options: ['small', "", "", "large"] },
  { code: 'color', name: 'COlor', options: ['black', "", "", "red"] }
];

const result = testArr.map(obj => {
  obj.options = obj.options.filter(s => s.trim().length > 0);
  return obj;
});

console.log(result);

Upvotes: 1

Related Questions