簡體   English   中英

使用關聯數組中的鍵檢索值

[英]Retrieve Value Using Key in Associative Array

我有一個數組,我插入一個值的負載及其相應的鍵。 它們插入正常,因為當我執行console.log時,我可以在數組中看到它們。

問題是,我似乎無法使用各自的鍵從數組中檢索值。

這是我的代碼。

var personArray = [];

personArray.push({
    key: person.id,
    value:person
});

var personID = person.id;

console.log(personArray.personID);

我也嘗試過console.log(personArray[personID];但這也不起作用。

我在控制台中獲得的值undefined

你正在做的是你將字典推入數組。 如果person.id是唯一的,那么你可以這樣做:

var personDict = {}
personDict[person.id] = person

然后personDict[personID]將工作。 如果你想保留你的結構,那么你必須在數組內搜索它:

var personArray = [];

personArray.push({
    key: person.id,
    value:person
});

var personID = person.id;

var search = function(id) {
    var l = personArray.length;
    for (var i = 0; i < l; i++) {
        var p = personArray[i];
        if (p.key === id) {
            return p.value;
        }
    }
    return null;
};
search(personID);

您可以使用@freakish建議的字典格式,或使用過濾器函數查找所需的對象。

例如:

var personArray = [];
var person = {id: 'aki', value:'Akhil'}
personArray.push({
    key: person.id,
    value:person
});
personArray.filter(function(item){
   return item.key == 'aki'
});

暫無
暫無

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

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