Добавить значение к объекту, только если не нуль-не работает - PullRequest
0 голосов
/ 23 июня 2019

Я прочитал здесь, что я могу добавить key:value к object, только если значение не равно нулю, иначе key:value будет вообще не будет :

   var product = {
         coverTitle:document.getElementById("coverTitle").value.length>0 ? getElementById("coverTitle").value : undefined,
..
..

Напечатает:

coverTitle:undefined

Я ожидаю, что этот ключ вообще не будет находиться внутри.

Я прочитал его здесь: В Javascript, как условно добавить члена вобъект?

ответ от Frédéric Hamidi

При загрузке на сервер я вообще не хочу писать эту пару, так как их там нет.Что я делаю не так?

Ответы [ 2 ]

1 голос
/ 23 июня 2019

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

  const product = { }

  const value = document.getElementById("coverTitle").value

  if (value)
    product.coverTitle = value

  // or
  value && (product.coverTitle = value)
0 голосов
/ 23 июня 2019

Необходимо добавить свойство позже - undefined пары ключ / значение по-прежнему сохраняются в объекте.

let product = {};
const value = document.getElementById("coverTitle").value;
if (value) product.coverTitle = value;

В качестве альтернативы, используйте JSON методы для удаления undefined пар ключ / значение - дорого, но это работает:

var product = {
     coverTitle: document.getElementById("coverTitle").value.length > 0 ? document.getElementById("coverTitle").value : undefined
};

product = JSON.parse(JSON.stringify(product));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...