Сумма чисел внутри объекта - PullRequest
0 голосов
/ 20 апреля 2019

Функция принимает массив и возвращает массив суммы чисел внутри объекта.Где ошибка?

const car = [
  {  
    "name":"BMW",
    "price":"55 000",
    "country":"Germany",
    "security":"Hight"
  },
  {  
    "name":"Mitsubishi",
    "price":"93 000", 
    "constructor":"Bar John",
    "door":"3",
    "country":"Japan",
  },
  {  
    "name":"Mercedes-benz",
    "price":"63 000", 
    "country":"Germany",
    "security":"Hight",
    "people":"63"
  }
 ];

function tur(car){
   return car.map(()=>{
      return  car.reduce((a, b) => {  return (parseInt(a)) + (parseInt(b))});
   })
}

1 Ответ

2 голосов
/ 20 апреля 2019

parseInt не может справиться с пробелами, плюс вы перебираете целые объекты, поэтому вам нужно вытащить свойство:

cars.map(car => parseInt(car.price.replace(/\s/g, ''),10)).reduce((a, b) => a + b);

В качестве бонуса оно уже проанализировановремя доходит до следующего этапа.Не забудьте указать base (10) для parseInt, иначе он будет интерпретировать такие вещи, как 0x20, как шестнадцатеричные.

Назовите вашу основную структуру cars, поскольку это серия объектов, а неодин.

В идеале вы должны очистить данные о ценах, прежде чем перейти к этой функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...