Изменить значение JSON без имени ключа - PullRequest
1 голос
/ 12 апреля 2019

Я использую Editor Datatables для создания своего сайта.Мне нужно изменить значение на стороне клиента перед отправкой данных в таблицу.

Когда я нажимаю кнопку отправки, я отправляю объект json, подобный этому o.data.row_360.vinculos.salario

Я хочу сделать: o.data.row_360.vinculos.salario /= 100 разделите значение на 100.

Это просто, но я не могу знать, что такое третий ключ (row_360), но он случайный, как: o.data.row_25.vinculos.salario, o.data.row_44.vinculos.salario,и т. д.

Когда я изменяю значение, не зная, как называется третье имя ключа, например o.data.???.vinculos.salario?

Ответы [ 2 ]

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

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

const o = {
  data: {
    row_25: {
      vinculos: {
        salario: 2000
      }
    }
  }
}

var d = o.data;

for(let prop in d) {
    if(d[prop].vinculos) {
        d[prop].vinculos.salario /= 100;
        break;
    }
}

console.log(o)
1 голос
/ 12 апреля 2019

Поскольку в o.data есть только один ключ, вы можете получить массив значений, используя Object.values() и получить доступ к первому, устраняя необходимость знать ключ

const o = {
  data: {
    mystery_key: {
      vinculos: {
        salario: 2000
      }
    }
  }
}

Object.values(o.data)[0].vinculos.salario /= 100

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