1

一連の値とそれに対応するキーを挿入する配列があります。console.log. _

問題は、それぞれのキーを使用して配列から値を取得できないように見えることです。

これが私のコードです。

var personArray = [];

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

var personID = person.id;

console.log(personArray.personID);

私も試しconsole.log(personArray[personID];ましたが、これもうまくいきません。

コンソールに表示される値はundefined.

4

2 に答える 2

4

あなたがしていることは、辞書を配列にプッシュすることです。が一意の場合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);
于 2013-08-30T05:43:11.820 に答える
0

@freakish で提案されている辞書形式を使用するか、フィルター機能を使用して必要なオブジェクトを見つけることができます。

例えば:

var personArray = [];
var person = {id: 'aki', value:'Akhil'}
personArray.push({
    key: person.id,
    value:person
});
personArray.filter(function(item){
   return item.key == 'aki'
});
于 2013-08-30T05:46:36.210 に答える