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

Существует функция, которая принимает аргумент массива.Мне необходимо, чтобы значения из объектов в строках через знак "-" выводились.Пример: [«BMW-55 000-Германия-Hight», «Mitsubishi-93 000-Bar John-3-Japan», «Mercedes-benz-63 000-Germany-Hight»].Где ошибка?

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"
  }
 ];


function joinArr(car){
  return Object.values(car).forEach(function(){
     return  car.join("-")      
   });  
}

Ответы [ 3 ]

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

Вы можете использовать map для цикла по массиву.Используйте Object.values для преобразования объекта в массив.

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"}];

function joinArr(car) {
  return car.map(o => Object.values(o).join("-"));
}

var result = joinArr(car);

console.log(result);
1 голос
/ 20 апреля 2019

car это не объект, а массив объектов.Возможно, вы захотите отобразить это (и переименовать car в cars, чтобы избежать путаницы):

 function joinCars(cars) {
   return cars.map(function(car) {
     return Object.values(car).join("-");
   });
 }
0 голосов
/ 20 апреля 2019

forEach ничего не возвращает - просто используйте join:

function joinArr(car){
    return Object.values(car).join("-");
}

Чтобы сделать это для полного массива и получить массив строк, используйте map. Также рассмотрите возможность переименования ваших параметров:

 

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"
  }
 ];


const joinArr = cars => cars.map(car => Object.values(car).join("-"));

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