2015-07-19 112 views
0

我有一個對象數組。 我需要創建1個函數,它返回一個if語句的特定對象鍵名稱。目前我正在試圖做到這一點,像這樣:通過函數參數傳遞對象屬性if語句

<button onclick="isClick('curly_hair')"><u>curly</u></button> 

這裏是我嘗試的功能:

function isClick(value) { 
    for (i = 0; i < People.length; i++) { 
     if (People[i].options.value) { 
//do stuff 
} 

這裏是我的對象

var People = [ 
    { 
     name: "Bill", 
     img: "images/168-Cool-avatars/256x256_male-avatars_png/avatar-m-small-01.png", 
     options: { 
      curly_hair: false, long_hair: true, ... 
     }, 
    }, 

要闡述的數組:與其需要爲我的每個「選項」屬性(curly_hair,long_hair等)創建一個「if」語句。我試圖通過函數參數來傳遞它。 如果我傳遞「isClick(curly_hair)」,我想返回Person數組中具有curly_hair:true的所有對象。

+0

你可以使用Array.filter – Grundy

回答

0

當值,我們可以用[]代替.運營商使用一個變量嘗試這種方式

function isClick(value) { 
    for (i = 0; i < People.length; i++) { 
     if (People[i].options[value]) { 
      //do stuff 
     } 
} 

這是更好的,如果需要還可以使用過濾器。

function isClick(value) { 
     return People.filter(function(obj){ 
     return !!obj.options[value]; 
    }) 
} 
相關問題