更改JSON值而不使用键名

时间:2019-04-12 03:31:03

标签: jquery json datatables

我正在使用Editor Datatables创建我的网站。在将数据发送到表之前,我需要在客户端更改一个值。

当我单击“提交”按钮时,我将发送一个o.data.row_360.vinculos.salario这样的json对象

我想做:o.data.row_360.vinculos.salario /= 100将值除以100。

这很简单,但是我不知道第三个键(row_360)是什么,但是它是随机的,例如:o.data.row_25.vinculos.salarioo.data.row_44.vinculos.salario等。

当我更改值时却不知道第三个键名是什么,例如o.data.???.vinculos.salario

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码片段使其正常运行,

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 :(得分:1)

由于o.data中只有一个键,因此您可以使用Object.values()检索值数组并访问第一个值,而无需知道键

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

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

console.info(o)