[英]Changing values of an object inside a function
在“ superSecret”函數中,“ spy”將作為代表間諜的對象傳入。 我想遍歷間諜對象的所有屬性,並將所有值更改為“已編輯”字符串,然后返回更新的間諜對象。 有人可以看一下我的代碼,請幫我拼湊一下嗎?
var superSecret = function(spy){
for(var i = 0; i < spy.length; i++) {
"redacted"
return
}
var jamesBond = {
eye: "brown",
hair: "black",
gun: "goldenGun",
}
在Javascript中,對象是通過引用傳遞的,因此您實際上不需要事件就需要返回對象:
var superSecret = function(spy){ Object.keys(spy).forEach(function(key){ spy[key] = 'redacted'; }); } var jamesBond = { eye: "brown", hair: "black", gun: "goldenGun", } superSecret(jamesBond); console.log(jamesBond);
但是,如果您想保留原始對象並返回修改后的副本,則可以使用以下方法:
var superSecret = function(spy){ var redacted = {}; Object.keys(spy).forEach(function(key){ redacted[key] = 'redacted'; }); return redacted; } var jamesBond = { eye: "brown", hair: "black", gun: "goldenGun", } var unknownHero = superSecret(jamesBond); console.log(jamesBond); console.log(unknownHero);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.