Функция array.map

376
21 января 2018, 05:58

Подскажите, как перебрать массив auto и в зависимости от значения item вернуть в result определенное значение?

auto = ["bmw", "honda", "fiat"]; 
result = auto.map((item, index) => { 
    ??? 
});

Например:

if bmw, то в result пишем "m5"
if honda, то в result пишем "accord"
if fiat, то в result пишем "punto"
Answer 1

Ещё как вариант предварительно создать объект, в котором будут записаны нужные ассоциации:

let associations = { 
  'bmw': 'm5', 
  'honda': 'accord', 
  'fiat': 'punto' 
}; 
 
let auto = ['bmw', 'honda', 'fiat']; 
let result = auto.map(item => associations[item]); 
console.log(result);

Answer 2

var auto = ["bmw", "honda", "fiat"]; 
 
var result = auto.map( item => { 
  if (item == "bmw") return "m5"; 
  else if (item == "honda") return "accord"; 
  else if (item == "fiat") return "punto"; 
  else return ""; 
}); 
 
console.log(result);

Answer 3

У Вас в коде лишняя скобка после index).

var auto = ["bmw", "honda", "fiat"]; 
 
var result = auto.map((item, index, arr) => { 
  switch(item) { 
    case "bmw": 
      return "m5"; 
    case "honda": 
      return "accord"; 
    case "fiat": 
      return "punto"; 
  } 
}); 
 
console.log(result);

READ ALSO
Логирование данных из ng-bind

Логирование данных из ng-bind

На странице, при нажатии на кнопку выводятся данные через ng-bind

372
JavaScript анимация на всплывающее окно

JavaScript анимация на всплывающее окно

Здравствуйте, не подскажите как сделать анимацию постепенное появление при нажатии на кнопку всплывающего окна и кнопку закрытия на id=exit...

351
[[!getFrontendRequests?]] в HTML коде (мб jQuery/AJAX/js)

[[!getFrontendRequests?]] в HTML коде (мб jQuery/AJAX/js)

Получил наследство в виде сайта, где требуется удалить пару постов, а посты подтягиваются непонятно откудаВ коде на месте, куда вставляются...

342