Обрезка массивов для удаления пробелов в Javascript

#javascript #arrays

#javascript #массивы

Вопрос:

Я пытаюсь написать простую функцию, которая может обрезать пробелы из массивов. Когда я вызываю функцию, результат, который я получаю, не определен.

Код ниже

 function cleanNames(arr){
  const arrmap = arr.map(function(element){return element.trim()});
}
 

Комментарии:

1. Что вы подразумеваете под «обрезкой пробелов из массивов»? Я полагаю, что эти массивы содержат строки? Пожалуйста, опубликуйте несколько допустимых входных и ожидаемых выходных примеров.

2. map возвращает новый массив. I не изменяет исходный массив.

3. Почему вы ничего не делаете с arrmap ?

Ответ №1:

Использование ES6:

 var arr = [' one    ', '    two  ', ' three'];

const trimmer = () => arr.map(el => el.trim());

console.log(trimmer(arr)); 

Комментарии:

1. @Alex Irabor Рад помочь. Пожалуйста, примите мой ответ, если он вам помог. С Новым годом!

Ответ №2:

Вы не вернули результат из cleanNames() функции.

 function cleanNames(arr){
  return arr.map(function(element){return element.trim()});
}

const arr = [' apple', 'peach '];
console.log(cleanNames(arr)); 

Ответ №3:

возможно, вы пропустили возвращаемое значение функции

 function cleanNames(arr){
  const arrmap = arr.map(function(element){return element.trim()});
return arrmap ;
}

 

Ответ №4:

Вы можете использовать Array.prototype.map() в сочетании с методом trim() для удаления пробелов для этого.

 let arr = ["   Peter ", "   Jon ", " cchris "];
console.log(arr);

let trimmed = trimmer(arr);
console.log(trimmed);

function trimmer(a){
   let trimmedArr = a.map(val => {return val.trim()});   return trimmedArr;
} 

Комментарии:

1. Np @alex irabor

Ответ №5:

Это очень просто, выполнив простой цикл for:

 let arrToTrim = ["  a", "  b  ", "c   "]
   function trimmedArr(arr){
     for(let i = 0; i < arr.length; i  ){
        if(typeof arr[i] === "string"){
          arr[i] = arr[i].trim();
        }
     }
    return arr;
   }
  trimmedArr(arrToTrim);
 

Ответ №6:

использование цикла forEach

     var a = [" a ", "b", "c"];

    function cleanNames(arr) {
        arr.forEach(function (entry) {
            console.log(entry.trim());
        });
    }

    cleanNames(a);
 

Комментарии:

1. Здравствуйте, спасибо за публикацию вашего ответа! Пожалуйста, не публикуйте необработанные фрагменты кода в качестве ответов. Пожалуйста, добавьте хотя бы некоторое объяснение того, почему и как, по вашему мнению, это решает проблему вопроса. Я рекомендую отредактировать ваш пост.