js 中对象中的对象

qdyu00 2011-07-22 04:46:07
求助:
某些朝代->某些名人->各种画。我以前用数组嵌套的方法 查找 取出某条件的画的,现在想将他们写成对象。
就是:
朝代(对象)——>人(对象)——>画(对象)
应该怎么写呢?可以迅速找到每个画呢?
...全文
198 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lc425605 2011-07-27
  • 打赏
  • 举报
回复
学习了一下。
MadEric 2011-07-26
  • 打赏
  • 举报
回复
支持2楼和7楼
hch126163 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 thc1987 的回复:]

或者LZ是这个意思
HTML code
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<SCRIPT type="text/javascript">
var d……
[/Quote]

++

json
潇湘博客 2011-07-23
  • 打赏
  • 举报
回复
var data =
{dynasty:
[
{"name":"明朝",person:
[
{"name":"张居正",drawing:[{"name":"画1"},{"name":"画2"}]},
{"name":"王阳明",drawing:[{"name":"画3"},{"name":"画4"}]}
]},
{"name":"清朝",person:
[
{"name":"康熙",drawing:[{"name":"画5"},{"name":"画6"}]},
{"name":"乾隆",drawing:[{"name":"画7"},{"name":"画8"}]}
]}

]}

建议用这个数据格式···
挨踢直男 2011-07-23
  • 打赏
  • 举报
回复
<各各朝代>
<朝代1>
<人1>
<画1></画1>
<画2></画2>
<画3></画3>
</人1>
<人2>
<画></画>
<画></画>
<画></画>
</人2>
<人3>
<画></画>
<画></画>
<画></画>
</人3>
</朝代1>
<朝代1>
<人>
<画></画>
<画></画>
<画></画>
</人>
<人>
<画></画>
<画></画>
<画></画>
</人>
<人>
<画></画>
<画></画>
<画></画>
</人>
</朝代1>
</各各朝代>

用 xml比较方便吧
不过xml不能以中文命元素名,你换成英文的
KK3K2005 2011-07-23
  • 打赏
  • 举报
回复
你以前用数组可以完成

那么现在改成对象 只要查阅下 Composite模式 就可以了
lsw645645645 2011-07-23
  • 打赏
  • 举报
回复
用json格式吧
s1120624175 2011-07-22
  • 打赏
  • 举报
回复
var 朝代 = new Object();

朝代["名人"] = new Array();

朝代["名人"][n] = new Object();
朝代["名人"][n].name="第N幅画";


猿敲月下码 2011-07-22
  • 打赏
  • 举报
回复
或者LZ是这个意思
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<SCRIPT type="text/javascript">
var data =
{dynasty:
[
{"name":"明朝",person:
[
{"name":"张居正",drawing:[{"name":"画1"},{"name":"画2"}]},
{"name":"王阳明",drawing:[{"name":"画3"},{"name":"画4"}]}
]},
{"name":"清朝",person:
[
{"name":"康熙",drawing:[{"name":"画5"},{"name":"画6"}]},
{"name":"乾隆",drawing:[{"name":"画7"},{"name":"画8"}]}
]}

]}

function findDrawing(_dynasty,_person){
var dynastis = data.dynasty;

for(var i in dynastis){
if(_dynasty == dynastis[i].name){
var persons = dynastis[i].person
for(var j in persons){
var person = persons[j]
if(_person == person.name){
return person.drawing;
}
}
}
}
return [];
}
function test(){
var dynasty = "清朝";
var person = "乾隆";
var drawings = findDrawing(dynasty,person)
if(drawings.length == 0){
alert("没有画");
return;
}
var ret = "";
for(var i in drawings){
ret +=drawings[i].name + " ";
}

alert(dynasty + person + "的画有:"+ret)
}
</script>

</HEAD>
<BODY onload="test()">
</BODY>
</HTML>
猿敲月下码 2011-07-22
  • 打赏
  • 举报
回复
应该是人具有朝代和画的属性吧
function Dynasty(){

}

function peron(){
this.dynasty;
this.drawing;
}

function Drawing(){

}

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧