使用js,比较两个json数组对象,把相等的键值取出存入<div></div>。急求帮助啊!!!
有两个json数组对象var_try_data={"message_list":[{"viewer_list":[],"msg_type":"","story_id":"...
有两个json数组对象
var _try_data = {
"message_list": [
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a1",
},
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a7",
},
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a5",
}
]
};
var try_bc_param = {
"bc_list": [
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁1。",
"duration": 4
},
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a5",
"caption": "我不知道你是谁2。",
"duration": 4
},
{
"start_moment": 0.9,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁3。",
"duration": 4
}
]
};
var _try_messages = _try_data['message_list'];
var dm=try_bc_param["bc_list"];
如果_try_messages中某项的"story_id"与dm中一个或多个对象的"story_id"相等,在dm中,把对应的"caption"值取出,按照"start_moment"值从小到大的先后顺序,依次存入<div></div>中 展开
var _try_data = {
"message_list": [
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a1",
},
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a7",
},
{
"viewer_list": [ ],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a5",
}
]
};
var try_bc_param = {
"bc_list": [
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁1。",
"duration": 4
},
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a5",
"caption": "我不知道你是谁2。",
"duration": 4
},
{
"start_moment": 0.9,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁3。",
"duration": 4
}
]
};
var _try_messages = _try_data['message_list'];
var dm=try_bc_param["bc_list"];
如果_try_messages中某项的"story_id"与dm中一个或多个对象的"story_id"相等,在dm中,把对应的"caption"值取出,按照"start_moment"值从小到大的先后顺序,依次存入<div></div>中 展开
2015-01-29
展开全部
<!DOCTYPE HTML>
<html>
<head>
<meta charset=UTF-8>
<title>recursion</title>
<style type="text/css">
</style>
<script type="text/javascript">
var _try_data =
{
"message_list": [
{
"viewer_list": [],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a1",
},
{
"viewer_list": [],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a7",
},
{
"viewer_list": [],
"msg_type": " ",
"story_id": "v1_10010_52_1_54a5",
}
]
};
var try_bc_param =
{
"bc_list": [
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁1。",
"duration": 4
},
{
"start_moment": 3,
"story_id": "v1_10010_52_1_54a5",
"caption": "我不知道你是谁2。",
"duration": 4
},
{
"start_moment": 0.9,
"story_id": "v1_10010_52_1_54a1",
"caption": "我不知道你是谁3。",
"duration": 4
}
]
};
var filterData = function(a, b)
{
var array = [];
for (var i = 0; i < a.length; i++)
{
var x = a[i]["story_id"];
for (var j = 0; j < b.length; j++)
{
var bj = b[j];
if (x == bj["story_id"])
{
var obj =
{
"start_moment": bj["start_moment"],
"caption": bj["caption"]
};
array.push(obj);
}
}
}
array.sort(function(c, d)
{
var x = parseFloat(c['start_moment'], 10), y = parseFloat(d["start_moment"], 10);
if (x < y)
{
return -1;
}
else if (x > y)
{
return 1;
}
else
{
return 0;
}
});
return array;
}
var displayDiv = function(array)
{
for (var i = 0; i < array.length; i++)
{
var div = document.createElement('div');
div.innerHTML = array[i]['caption'];
document.body.appendChild(div);
}
}
onload = function()
{
var _try_messages = _try_data['message_list'];
var dm = try_bc_param["bc_list"];
var array = filterData(_try_messages, dm);
displayDiv(array);
}
</script>
</head>
<body>
</body>
</html>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询