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"],
},
]
1 Answer 1
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);
answered Nov 4, 2020 at 12:00
Yousaf
29.6k6 gold badges54 silver badges78 bronze badges
Sign up to request clarification or add additional context in comments.
Comments
lang-js
.filter()method to filter out the empty strings:array.filter(s => s.trim().length > 0).filter()is returning only options, I need a whole array without empty string @Yousaf