I am trying to remove an element index from an array once I clear its value.
const myArray:string[] = ['123456', '234567']
const editedArray = myArray.map((m) => {
if('123456' !== m) return m;
return '';
const myArray = editedArray; // I want to return ['234567'] not ['', '234567]
// Type '(string | undefined)[]' is not assignable to type 'string[]'.
CodePudding user response:
map
will always return an array with the same number of elements that it's iterating over. You should use filter
instead.
const myArr = ['123456', '234567'];
// `filter` accepts a string
function filter(str) {
// Return a new filtered array that
// doesn't contain that string
return myArr.filter(el => {
return el !== str;
});
}
console.log(filter('123456'));
CodePudding user response:
I think filter is the method you want.
Though not much information was provided in the question itself, map is not the right choice.