функция метода сопоставления javascript

#javascript #arrays #function #methods #trim

#javascript #массивы #функция #методы #обрезать

Вопрос:

привет всем, надеюсь, у вас хороший день 🙂

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

функция должна использовать метод array map, чтобы создать новый массив, полный обрезанных имен.

я пробовал что-то подобное, но, к сожалению, это не близко к работе

 function cleanNames(array) {
   const trimArray = array.map() function() {
     return array.trim();
   }
}
  

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

1. Обратный вызов должен получить строку, и вы должны передать строку в trim. Вы также забыли вернуться trimArray . См. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…

Ответ №1:

Ваш код выдает следующую синтаксическую ошибку:

Неперехваченная синтаксическая ошибка: неожиданная функция токена

в array.map() function() {

Вы должны обрезать имена внутри функции map обратного вызова. Вы также можете использовать синтаксис функции arrow ( => ) для сокращения кода:

 function cleanNames(arr) {
  return arr.map(i => i.trim());
}

console.log(cleanNames(['John ', ' Jane', ' Joe ']));  

Ответ №2:

Вы должны сделать это так:

 var array = [" Mike", " Hellen", "Robert "];
array = array.map(function (el) {
  return el.trim();
});
console.log(array);
  

вы должны выполнить редактирование в функции map.

Ответ №3:

 console.log([" Mike", " Hellen", "Robert "].map(name => name.trim()));
  

Ответ №4:

  function cleanNames(input) {
   return input.map(val => val.trim());
}
const names = [" Joy ", " James", "Raj"];
console.log(cleanNames(names));  

Ответ №5:

Вы должны попытаться создать минимальный объем кода:

 [' aa ', ' b b ', '   c c '].map(i=>i.trim());
  

Это решит вашу проблему.

Кстати, если вы используете jQuery, синтаксис немного отличается и даже проще:

 $.map([' aa ', ' bb ', '   cc '], $.trim);