2011-06-13 38 views
-1

我有一個數組表示法objects。這個數組每次都會有所不同。如何從對象數組中獲取名稱

我希望能夠得到這個數組中的元素的名稱。例如,我遇到的麻煩是返回[object]而不是返回assetA。我知道這是因爲assetA本身就是一個對象。

我一直在使用,以測試這是代碼的例子..

//the assetArray will have varying number of elements in the future 
var assetArray=[assetX,assetY,assetZ, assetB, assetA]; 
var testtest=(new String(assetArray)); 
alert(testtest); 
$.each(assetArray,function(intIndex,objValue){ 
    var test123=(new String(assetArray[intIndex])); 
    alert(test123); 
}); 

和測試資產的列表是..

var assetX = { 
    assetNumber: "TESTX", 
    assetDescription: "FLUX CAPACITOR", 
    assetManufacturer: "Honeywell", 
    assetCustomer: "MCFLY", 
    assetDate: "03/04/1956" 
}; 
var assetY = { 
    assetNumber: "C123Y", 
    assetDescription: "HOVERBOARD", 
    assetManufacturer: "GE", 
    assetCustomer: "MCFLY", 
    assetDate: "12/03/1945" 
}; 
var assetZ = { 
    assetNumber: "9000Z", 
    assetDescription: "ROCKETFOOTBALL", 
    assetManufacturer: "Fluke", 
    assetCustomer: "MCFLY JR.", 
    assetDate: "01/05/3030" 
}; 
var assetA = { 
    assetNumber: "C34JJXA", 
    assetDescription: "TEST DESCRIPTION", 
    assetManufacturer: "Elgar", 
    assetCustomer: "CUSTOMER1", 
    assetDate: "05/09/1923" 
}; 
var assetB = { 
    assetNumber: "C892ALB", 
    assetDescription: "DMM", 
    assetManufacturer: "Agilent", 
    assetCustomer: "CUSTOMER2", 
    assetDate: "02/12/1986" 
}; 

有沒有人有這樣的經歷問題使用jQuery?

+0

爲什麼不使用JSON陣列,它可以有兩個鍵(又名「名稱」)和價值? – babonk 2011-06-13 17:53:21

+0

你期望回來什麼?變量名? – 2011-06-13 17:53:33

+0

@kingjiv我想找回「assetA」或「assetB」。 – Turbo 2011-06-13 17:58:18

回答

1

Store中的資產對象(即使用關聯數組而不是順序排列):

var assets = { 
    assetX: { 
     assetNumber: "TESTX", 
     assetDescription: "FLUX CAPACITOR", 
     assetManufacturer: "Honeywell", 
     assetCustomer: "MCFLY", 
     assetDate: "03/04/1956" 
    }, 
    assetY: { 
     assetNumber: "C123Y", 
     assetDescription: "HOVERBOARD", 
     assetManufacturer: "GE", 
     assetCustomer: "MCFLY", 
     assetDate: "12/03/1945" 
    }, 
    ... 
}; 

$.each(assets, function (name, asset) { 
    // name is the name (e.g. "assetX") 
    // asset is the object instance 
}); 
0

我不確定你想要顯示什麼。

但是你可以只顯示對象的各個部分:

//the assetArray will have varying number of elements in the future 
var assetArray=[assetX,assetY,assetZ, assetB, assetA]; 
var testtest=(new String(assetArray)); 
alert(testtest); 
$.each(assetArray,function(intIndex,objValue){ 
    var test123=objValue.assetNumber; //etc 
    alert(test123); 
}); 
+0

我想找回位於assetArray中的名稱,即「assetX」。 – Turbo 2011-06-13 18:00:13

+0

@Turbo,你不能這麼做......你可以給對象添加一個名稱字段,然後顯示「objValue.name」 – Neal 2011-06-13 18:01:33

2

有沒有這樣的事,作爲一個對象的名稱。有對象,句號。有零個或多個變量引用給定的對象,句號。你不能從一個對象到引用它的變量,句號,新段落。

如果此「名稱」是對象本身的重要屬性,請將其包含在對象中(添加name字段)或使用此「名稱」爲關聯數組(即名稱空間,引擎蓋下的對象)鍵和資產對象是值而不是數組。

0

我建議使用常規的JavaScript對象來匹配對象名稱和值。在一個對象的屬性

+1

「JSON數組」不是最好的方式。你可能是指一個普通的JavaScript對象。 – 2011-06-13 18:01:14

+0

已更新,謝謝 – babonk 2011-06-13 20:53:31