【发布时间】:2014-06-24 08:15:33
【问题描述】:
您好,我在 stackoverflow 上的第一个问题。我在 jquery 和 js 中很新。我会尽量具体。
我在另一个对象中创建了一个对象。我试图列出他们拥有的不同鱼类(对象)的人(对象)。 people object 进行得很顺利,但 object 没有成功。现在在数据源文件中我制作了 2 个数组。一人一鱼一鱼。
如下:
var data =
[
{
"id": 1,
"guid": "14f09c11-d343-44a6-a8b5-ddfc9196636f",
"isActive": true,
"age": 27,
"name": "Abe",
"fishes" : 0
},
{
"id": 2,
"guid": "3129a7d7-c956-4201-bda4-338d27e15fdf",
"isActive": true,
"age": 39,
"name": "Rachel",
"fishes":1
},
{
"id": 3,
"guid": "c4dea911-9523-4fdc-b129-f2ba10b40a8d",
"isActive": true,
"age": 20,
"name": "harrison",
"fishes":2
}
]
var datafish =
[
{
"id":1,
"name": "gruber",
"color": "red",
"edible": true,
"picture":"fish1.jpg"
},
{
"id":2,
"name": "dorade",
"color": "green",
"edible": true,
"picture":"fish2.jpg"
},
{
"id":3,
"name": "puff-fish",
"color": "random",
"edible": false,
"picture":"fish3.jpeg"
}
]
如您所见,每个人都拥有一条鱼(在鱼下)。现在我想在 jquery 或 js 中只显示他们在他们的个人资料中拥有的鱼。我只是不知道如何引用 var data 中的 fishes 值。这正是我所需要的......
我已经在我的 js 文件中尝试过这个:
var i = data[fishes.value];
还有:
var i = data.fishes.value;
我希望你们能理解我的问题,如果不是生病,很乐意提供更多信息。
谢谢!
编辑:
我也会添加我的功能:
function create(persona)
{
var body = $('body');
var person = $('<div></div>').addClass('person').appendTo(body);
var name = $('<div></div>').addClass('name').appendTo(person);
var img = $('<img/>').appendTo(person);
var age = $('<div></div>').addClass('age').appendTo(person);
name.text(persona.name);
age.text(persona.age);
img.attr('src', 'graphics/' + persona.picture);
fish();
}
function fish()
{
var body = $('body');
var person = $('<div></div>').addClass('person').appendTo(body);
var fishbar = $('<div></div>').addClass('fishbar').appendTo(person);
var i = data[fishes.value]
var fishmenu = $('<div></div>').addClass('fishmenu').appendTo(fishbar);
var fishimg = $('<img/>').addClass('fishpicture').appendTo(fishmenu);
var fishcolor = $('<div></div>').addClass('fishcolor').appendTo(fishmenu);
var fishedible = $('<div></div>').addClass('fishedible').appendTo(fishmenu);
var fishname = $('<div></div>').addClass('fishname').appendTo(fishmenu);
fishimg.attr('src', 'graphics/' + datafish[i].picture);
fishname.text(datafish[i].name);
fishcolor.text(datafish[i].color);
fishedible.text(datafish[i].edible);
fishmenu.attr('datafish-id', i);
}
【问题讨论】:
-
每条鱼如何映射到人?
-
试试
var i = data[0].fishes;这会得到id -
循环遍历所有使用
$.each(data, function(i,val){ console.log(val.fishes); });
标签: javascript jquery arrays multidimensional-array