2012-04-08 80 views
2

我有這個JSON:如何獲取與另一個給定值匹配的JSON對象的鍵值?

var projects_array = new Array(
{name:"myName1", id:"myid1", index:1}, 
{name:"myName2", id:"myid2", index:2}, 
{name:"myName3", id:"myid3", index:3}, 

); 

我需要匹配一個特定的「ID」值對象的「指數」值。所以如果我的「id」是「myid1」,你會得到「1」。

這裏是我的代碼部分:

var myid = $(this).attr('id'); //this is the id value 

projects_array.map(function (proj) { 
    if (proj.id == myid) { 
     return proj // returns Undefined 
    } 
    }); 

最後,我需要在一個變量分配一個值以後使用它,謝謝:)

+2

代碼提示:切勿使用'new Array()'。相反,使用數組文字:'[1,2,3]' – Ryan 2012-04-08 00:31:36

+0

@minitech,我從此之前得到了這個建議,但爲什麼,你可以提出一些想法? – 2012-04-08 00:36:42

+1

@SheikhHeera:它更短,效率更高一點,它是標準的,人們可以用'Array'來代替他們想要的意思。此外,還有一個事實:'新的Array(5)'不會給你'[5]'而是'[,,,,]'。 – Ryan 2012-04-08 00:39:04

回答

3

我認爲你成功地選擇索引,但是當你返回值時,它會進入一個新的數組(如果你願意的話,在那裏「映射」)。試試這樣:

var myproj; 
var myindex; 
projects_array.map(function (proj) { 
    if (proj.id == myid) { 
     myproj = proj; 
     myindex = proj.index; 
    } 
}); 
+0

它工作完美..謝謝你們:)我真的很感謝所有的答案和提示! – lilymz 2012-04-11 20:19:38

相關問題