Изменить значение json без имени ключа

Я использую 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?

Сколько ключей у o.data? Только тот или есть другие? Если их несколько, чем отличается тот, к которому вы хотите получить доступ?

Phil 12.04.2019 05:45

@Phil o.data имеет только один ключ

Italo Rodrigo 12.04.2019 05:46
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
1
2
49
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

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

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

console.info(o)

блин слишком быстро для меня

Munkhdelger Tumenbayar 12.04.2019 05:50

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

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.info(o)

Я превратил ваш ответ в исполняемый фрагмент, надеюсь, вы не возражаете

Phil 12.04.2019 05:59

Другие вопросы по теме