目前我的代码看起来像这样
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"]);
如果我不从[0]开始我的数组,并从[1]跳到[5],那么它将会回显出Tiger的第一个名字,这样会好吗。
有没有办法可以在1个var语句中实现整个数组 并通过id
的值获取名字和姓氏的值var person = [{id:1;firstName:John;lastName:doe},{id:2,firstName:Tiger;lastName:din;}];
感谢您的帮助!!
答案 0 :(得分:0)
您可以拥有一个对象数组。你只需要以正确的方式定义它。在我在这里创建的函数中,您可以调用所需对象中的任何属性。我给出了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
答案 1 :(得分:0)
有一条简单的出路:
来自你的对象:
//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"]);