Javascript中带有getter和setter的二维数组

Javascript中带有getter和setter的二维数组,javascript,arrays,Javascript,Arrays,目前我的代码是这样的 var person = []; person["firstName"] = "John"; person["lastName"] = "Doe"; person[1]["firstName"] = "John"; person[1]["lastName"] = "Doe"; person[5]["firstName"] = "Tiger"; person[5]["lastName"] = "Din"; 我想实现这样的东西 var person = []; perso

目前我的代码是这样的

var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person[1]["firstName"] = "John";
person[1]["lastName"] = "Doe";

person[5]["firstName"] = "Tiger";
person[5]["lastName"] = "Din";
我想实现这样的东西

var person = [];
person["firstName"] = "John";
person["lastName"] = "Doe";
person[1]["firstName"] = "John";
person[1]["lastName"] = "Doe";

person[5]["firstName"] = "Tiger";
person[5]["lastName"] = "Din";
结构基于我的数据库产品id

person[product_id]["firstName"] = val;
我想通过调用这个来获取记录

Alert("Val is  " + person[5]["firstName"]);
它将回显第一个名称,即Tiger,如果我不从[0]开始数组,并从[1]跳到[5],是否可以

有没有一种方法可以在一句话中实现整个数组 并通过id值获得first name和last name的值

var person = [{id:1;firstName:John;lastName:doe},{id:2,firstName:Tiger;lastName:din;}];

谢谢你的帮助

您可以拥有一个对象数组。你只需要用正确的方式来定义它。在我在这里创建的函数中,您可以调用所需对象中的任何属性。我举了3个例子说明如何使用它

var person = [{id:1,firstName:'John',lastName:'doe'},{id:2,firstName:'Tiger',lastName:'din'}];

function getVal(arr, where, get) {
    for (var i in arr) {
        for (var key in where) {
            if (arr[i][key] == where[key]) {
                if (get == 'fullName') 
                    return arr[i]['firstName'] + ' ' + arr[i]['lastName'];
                else 
                    return arr[i][get];
            }    
        }
    }
}

console.log(getVal(person, {'id':'2'}, 'firstName')); // Tiger
console.log(getVal(person, {'id':'2'}, 'fullName')); // Tiger din
console.log(getVal(person, {'firstName':'Tiger'}, 'id')); // 2

有一个简单的解决办法:

根据您的命令,创建如下对象:

//var person = {"id":{"fname":"fname_value","lname":"lname_value"}};

var person = {1:{"fname":"John","lname":"doe"},
              2:{"fname":"Tiger","lname":"din"}
             }
// You can Directly access them like:

alert(person[1]["fname"]);
alert(person["2"]["fname"]);

你到底想做什么?…问题到底是什么?问题。如何设置数组并通过id获取名字和姓氏,我想将其设置为一个序列化数组,1中的所有元素都是PHP或JS?在带有关联数组的PHP中,这是可能的,其中键是您想要的,所以如果您愿意,它可以从索引4开始。在JS中,我认为它没有JS那么简单。是的,我可以用php来实现,但不能用js,我想知道如何通过提供数组元素的id作为键来绘制其他变量,如first Name和last Name,从而获得数组元素的值