Раздражает ключи объекта и там значения из 1 строки объекта с es6? - PullRequest
0 голосов
/ 23 мая 2019

У меня есть объект с одной строкой ключей и там значений.Я пытаюсь сопоставить эти ключи и отобразить значения.

   productObj = {id:0, name:"toy", price:10, description:null, inventory:7 }

   productObj.map((product, index) => { 
      if(product.inventory > 0){
       return(
          <div>Product Inventory: {product.inventory}</div>
        );
      }
      if(product.description){
        return(
          <p>{product.description}</p>
        );
      }
    })

Это пример того, что я пытаюсь выполнить.

Я использовал:

  const keys = Object.keys(productObj)

и я смог отобразить массив значений ключей.

Однако это означает, что мне придется повторно использовать исходный объект для получения значений ключей.

Я уверенЕсть ли лучший способ сделать это?Спасибо.

1 Ответ

0 голосов
/ 23 мая 2019

Вы можете использовать Object.entries, если вам нужны и ключ, и значение.

return Object.entries(productObj).filter(x => x[1]).map(([k,v]) => <div>{`k:{v}`}</div>)

"Используя пример выше. If (инвентарь> 2) Возможно ли реализовать это выражение if.Сокращение ".

Вы можете создать объект с разными клавишами, которые имеют функции для разных клавиш.

const obj = {
   invetory:a => a > 2
}
return Object.entries(productObj)
            .filter(([k,v]) => obj[k] ? obj[k]() : x[1])
            .map(([k,v]) => <div>{`k:{v}`}</div>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...