Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用关联数组中的键检索值_Javascript_Arrays - Fatal编程技术网

Javascript 使用关联数组中的键检索值

Javascript 使用关联数组中的键检索值,javascript,arrays,Javascript,Arrays,我有一个数组,我在其中插入了一堆值及其对应的键。它们插入得很好,因为我在执行控制台.log时可以在阵列中看到它们 问题是,我似乎无法使用各自的键从数组中检索值 这是我的密码 var personArray = []; personArray.push({ key: person.id, value:person }); var personID = person.id; console.log(personArray.personID); 我也尝试过console.log

我有一个数组,我在其中插入了一堆值及其对应的键。它们插入得很好,因为我在执行
控制台.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);
var personArray=[];
推({
关键字:person.id,
价值:人
});
var personID=person.id;
变量搜索=函数(id){
var l=personArray.length;
对于(变量i=0;i
您要做的是将字典推入数组。如果
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);
var personArray=[];
推({
关键字:person.id,
价值:人
});
var personID=person.id;
变量搜索=函数(id){
var l=personArray.length;
对于(变量i=0;i
您可以使用@freakish建议的字典格式, 或者使用filter函数查找所需的对象

例如:

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

您可以使用@freakish建议的字典格式, 或者使用filter函数查找所需的对象

例如:

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

谢谢。对javascript来说还是个新手,所以还在语法上苦苦挣扎。谢谢。对javascript来说还是个新手,所以还在语法上苦苦挣扎