簡體   English   中英

在陣列中存儲和檢索數據

[英]Storing and Retrieving Data in Arrays

我需要你的幫助,

對於初學者,像下面這樣設置數組會出錯。 什么是正確的方法方法,然后再按以下方法檢索其數據?

var office_a = {    
    name: [{
        name: "Alpha Branch", mailstop: "AB"
    }],    
    divisions: [{
        division1: "Division 1 Office Name", mailstop: "DIV1",
        division2: "Division 2 Office Name", mailstop: "DIV2",
        division3: "Division 3 Office Name", mailstop: "DIV3"
    }]    
};

function test() {    
    alert(office_a[name].name); // -> "Alpha Branch"    
    alert(office_a[name].mailstop); // -> "B1"    
    alert(office_a[divisions][division1.name]); // -> "Division 1 Office Name"    
    alert(office_a[divisions][division1.mailstop]); // -> "DIV1"
}

test();

試試看(基本上,您需要考慮關聯數組中的數組索引)。 檢查這個小提琴

 var office_a = {    
    name: [{
        name: "Alpha Branch", mailstop: "AB"
    }],    
    divisions: [{
        division1: "Division 1 Office Name", mailstop: "DIV1",
        division2: "Division 2 Office Name", mailstop: "DIV2",
        division3: "Division 3 Office Name", mailstop: "DIV3"
    }]    
};
function test() {
console.log(office_a.name[0].name);
console.log(office_a.name[0].mailstop);
console.log(office_a.divisions[0].division1);
console.log(office_a.divisions[0].mailstop);
}
test();

我以為我可以在這個問題上擴大。 如果您執行以下操作:

console.log(office_a);

您將能夠在網絡檢查器中看到以下結果(我正在使用Chrome)。 我將僅在此處鍵入相關信息以實現您打算實現的目標。

Object {name: Array[1], divisions: Array[1]}
    divisions: Array[1]
        0: Object
            division1: "Division 1 Office Name"
            division2: "Division 2 Office Name"
            division3: "Division 3 Office Name"
            mailstop: "DIV3"
    name: Array[1]
        0: Object
            mailstop: "AB"
            name: "Alpha Branch"

通過查看此內容,您可以非常清楚地了解瀏覽器如何解釋您的對象。 首先導致使用JavaScript文字符號來訪問其內容,例如通過objectName.propertyName

console.log(office_a.name);
console.log(office_a.divisions);

這將產生上面看到的數組:

divisions
    0: Object
        division1: "Division 1 Office Name"
        division2: "Division 2 Office Name"
        division3: "Division 3 Office Name"
        mailstop: "DIV3"
name
    0: Object
        mailstop: "AB"
        name: "Alpha Branch"

您可以從此處訪問每個對象的內容,在您的情況下,該內容是包含對象的數組。

console.log(office_a.name[0]);
console.log(office_a.divisions[0]);

正如我已經向您展示的那樣,訪問對象的特定內容就像在該對象內使用所需的屬性一樣簡單。 對於您的情況,您想查看所有內容,因此請執行以下操作:

console.log(office_a.name[0].name); // Alpha Branch
console.log(office_a.name[0].mailstop); // B1
console.log(office_a.divisions[0].division1); // Division 1 Office Name
console.log(office_a.divisions[0].mailstop); // DIV1

TL; DR

這導致以下結果(請注意,我修改了test()函數):

 var office_a = { name: [{ name: "Alpha Branch", mailstop: "AB" }], divisions: [{ division1: "Division 1 Office Name", mailstop: "DIV1", division2: "Division 2 Office Name", mailstop: "DIV2", division3: "Division 3 Office Name", mailstop: "DIV3" }] }; function test(myObject) { alert(myObject.name[0].name); // Alpha Branch alert(myObject.name[0].mailstop); // B1 alert(myObject.divisions[0].division1); // Division 1 Office Name alert(myObject.divisions[0].mailstop); // DIV1 } test(office_a); 

暫無
暫無

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

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