2010-08-27 60 views
1

我有這樣的對象:在JavaScript中訪問對象數據的正確方法是什麼?

var count = { 
table: 15, 
people: 34, 
places_details: 85, 
story_1: 21, 
story_2: 6, 
story_3: 11, 
} 

這個數組:

var categories = ['table', 'people', 'places_details', 'story_1', 'story_2', 'story_3'] 

而這個功能:

function preloadThumbs() 
{ 
var j=0; 
for (j=0; j<categories.length; j++) 
    { 
    var k=1; 
    for (k=1; k<=count[categories[j]]; k++) 
     { 
     $('#preload').append('<img src="graphics/thumbs/'+categories[j]+'/'+k+'.jpg" />'); 
     } 
    } 
} 

...通過各文件夾中的categories[j]和負載的組件名稱所有的圖像變成隱藏的<div>
將數據寫入單個對象並更改相應函數以正確解釋數據的方法是什麼?

回答

1
var count = { 
    table: 15, 
    people: 34, 
    places_details: 85, 
    story_1: 21, 
    story_2: 6, 
    story_3: 11, 
} 

function preloadThumbs() { 
    var preload = $("#preload"); 
    for (var kind in count) { 
    for (var i = 1; i <= count[kind]; i++) { 
     preload.append('<img src="graphics/thumbs/' + kind + '/' + i + '.jpg" />'); 
    } 
    } 
} 

這是你所有的數據存儲在一個對象的方法。我不知道你想要一個2D陣列。

+0

修訂後的問題反映了這一點。謝謝。有沒有理由將jQuery對象存儲在變量中? – 2010-08-27 18:13:30

+0

(可能的)性能增益,因爲您不會創建Jquery對象並找到#preload元素172次。 – adamse 2010-08-27 19:16:51

1

你可以直接做到以下幾點:

for (var i in count) { 
    var a = i; // a would be "table" 
    var b = count[i]; //b would be 15. 
} 
相關問題