簡體   English   中英

使用javascript函數參數返回對象值

[英]Using javascript function argument to return object value

帶有單個參數的Javascript函數。 使用該參數值(是字符串)從匹配的對象鍵返回適當的值。

 function someFunction(someArg) {

var message = {
    bob: "Hello bob",
    mike: "Hello mike",
    tara: "Hello tara"
}

console.log(message +  " " + message.someArg + " " + someArg + " " + message.bob);

}

返回的是

 [object Object] undefined bob Hello bob

在控制台日志中返回undefined的地方,JavaScript應該返回消息“ Hello bob”,因為someArg的值為“ bob”,調用message.bob返回正確的結果。

要正確打印,您必須:

  • 字符串化消息對象
  • 以正確的方式引用消息的屬性

嘗試這個

function someFunction(someArg) {
   var message = {
    bob: "Hello bob",
    mike: "Hello mike",
    tara: "Hello tara"
   }
   //ES6
   console.log(`${JSON.stringify(message)} ${message[someArg]} ${someArg} ${message.bob}`);
   //ES5
   console.log(JSON.stringify(message) +  " " + message[someArg] + " " + someArg + " " + message.bob);

}

現在,在調用someFunction('bob')時 ,輸出為:

{"bob":"Hello bob","mike":"Hello mike","tara":"Hello tara"} Hello bob bob Hello bob

您必須使用[]表示法,其中obj [key]與obj.key相同,但是key可以是變量。

 function someFunction(someArg) { var message = { bob: "Hello bob", mike: "Hello mike", tara: "Hello tara" } console.log(JSON.stringify(message) + " " + message[someArg] + " " + someArg + " " + message.bob); } someFunction("mike"); 

使用message.someArg您是在“告訴”屬性someArg或您的消息對象。

您需要使用message[someArg]來獲取動態屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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