遍历对象并更改所有值

新手上路,请多包涵

我在遍历对象并将所有值更改为其他值时遇到问题,假设我想将所有值更改为字符串“redacted”。我需要能够在纯 JavaScript 中执行此操作。

例如我有一个这样的对象……

 spy = {
id: 007,
name: "James Bond",
age: 31
};

然后对象看起来像这样……

 spy = {
id: "redacted",
name: "redacted",
age: "redacted"
};

这是我必须开始的

var superSecret = function(spy){
  // Code Here
}

这不应该创建一个新的间谍对象,而是更新它。

原文由 Dominic 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 767
2 个回答

尝试

var superSecret = function(spy){
  Object.keys(spy).forEach(function(key){ spy[key] = "redacted" });
  return spy;
}

原文由 gurvinder372 发布,翻译遵循 CC BY-SA 3.0 许可协议

您也可以发挥作用。

使用 Object.keys 更好,因为您只会遍历对象属性而不是它的原型链。

Object.keys(spy).reduce((acc, key) => {acc[key] = 'redacted'; return acc; }, {})

原文由 Harshal 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏