javascript - json对象根据传入的键更改值函数

标签 javascript json object key

我想使用一个函数来更改 json 对象内的值,该函数允许您传入要更改的键 (pName)

var users = {
  john: {
    read: true,
    write: false
  },
  mike: {
    read: true,
    write: false
  }
}

var chgPermission = function (userName, pName, pValue) {
  if (users[userName]) {
    users[userName].pName = pValue;
  } else {
    console.log(`Could not find: ${userName}`)
  }
}

chgPermission("mike", "write", true)

这不起作用,因为它查找 users[username].pName (不存在)而不是 users[userName].write

我需要做什么才能让该函数允许我更改传入的 key 的值。

谢谢

最佳答案

我想你想要这样的东西:

var chgPermission = function (userName, pName, pValue) {
  if (users[userName]) {
    users[userName][pName]= pValue;
  } else {
    console.log(`Could not find: ${userName}`)
  }
}

关于javascript - json对象根据传入的键更改值函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52526460/

相关文章:

javascript - jQuery 中的正则表达式困惑 (1.5.2)

javascript - 比较两个对象不起作用?

vb.net - 在 vb.net webforms 中创建 "dynamic objects"的最佳方法是什么

javascript - 将 URL 传递到 JSON 数组

Android News App - 不要一次下载所有 json

javascript - 计算对象中值的更智能方法(JS、React)

javascript - Material ui textfield ith redux 表单问题

javascript - 在 Protractor 中加载页面之前单击对话框

javascript - HTML 表的交互式过滤器,具有从 JSON url 动态加载的数据

javascript - Protractor - 发送规范/套件名称作为参数