【问题标题】:Change json value without name of key更改没有键名的json值
【发布时间】:2019-09-02 18:35:13
【问题描述】:

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

当我点击提交按钮时,我会发送一个像 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

【问题讨论】:

  • o.data 有多少个键?只有一个还是有其他的?如果有多个,您要访问的有什么区别?
  • @Phil o.data 只有一个键

标签: jquery json datatables


【解决方案1】:

你可以使用下面的 sn-p 让它工作,

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)

【讨论】:

  • 我把你的答案变成了一个可运行的sn-p,希望你不要介意
【解决方案2】:

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

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

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

console.info(o)

【讨论】:

  • 对我来说太快了
猜你喜欢
  • 1970-01-01
  • 2020-08-30
  • 2016-06-18
  • 2019-02-05
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
  • 2021-06-16
相关资源
最近更新 更多