簡體   English   中英

在函數內更改對象的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM