javascript - 根据其他属性(语言)更改 JavaScript 属性

标签 javascript json

我想根据语言使用 JavaScript 更改对象 department_descr:

var data = {
  "language": "EN",    
  "contacts": [
    {
      "department_descr": {
        "en": "Management",
        "fr": "Gestion"
      }
    }
  ]
};

输出:

{  
  "language": "EN",  
  "contacts": [
    {
      "department_descr": "Management"
    }       
  ]
}

最佳答案

首先,您的示例对象格式错误,这将导致语法错误。将其更改为:

var data = {
  "language": "EN",    
  "contacts": [
      {
        "department_descr": {
          "en": "Management",
          "fr": "Gestion"
        }
      }
  ]
}

其次,在这种情况下不建议更改对象。您应该使用您需要的模型创建一个新对象:

var desc = data.contacts[0].department_descr[data.language.toLowerCase()];
var newData = Object.assign({}, data, { contacts: [ { department_descr: desc } ] })

关于javascript - 根据其他属性(语言)更改 JavaScript 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56276614/

相关文章:

javascript - 是否可以让选择元素的下拉列表始终向下显示?

javascript - Angular fire - 如何在数据库中添加输入的日期和时间?

javascript - jQuery 词频计数器

java - 获取嵌套的 JSON 对象值 - Java SimpleJson

javascript - 如何更改数据表中按钮的位置

javascript - 代码分割 React 组件

javascript - 根据选中的复选框计算文本框上的值总和

r - 如何修改R格式不正确的txt文件?

javascript - 未从工厂获取 JSON 数据

jquery - 使用 Javascript/Jquery 和 Json 数据填充选择框选项