原因是看到下面一段代码有点不明白,所以重新测试了下
var movies = [];
for (var idx in moviesDouban.subjects) {
//主要是这段代码不清楚,以为对moviesDouban.subjects循环就能得到数组中的每一个对象,其实得到的只是下标/索引,0、1、2...
var subject = moviesDouban.subjects[idx];
//获取title及处理
var title = subject.title;
if (title.length >= 6) {
title = title.substring(0, 6) + "...";
}
// [1,1,1,1,1] [1,1,1,0,0]
var temp = {
stars: util.convertToStarsArray(subject.rating.stars),
title: title,
average: subject.rating.average,
coverageUrl: subject.images.large,
movieId: subject.id
}
movies.push(temp)
}
我们看数据(可以通过postman访问http://t.yushu.im/v2/movie/in_theaters得到):
{
"count": 14,
"start": 0,
"subjects": [
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p44501.jpg"
},
"name": "刘若英"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1452260519.76.jpg"
},
"name": "井柏然"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p36798.jpg"
},
"name": "周冬雨"
}
],
"comments_count": 642,
"countries": [
"中国大陆"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "刘若英"
}
],
"genres": [
"剧情",
"爱情"
],
"id": 326,
"images": {
"large": "https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2519994468.jpg"
},
"original_title": "后来的我们",
"rating": {
"average": 7,
"max": 10,
"min": 0,
"stars": "35"
},
"reviews_count": 119,
"summary": "这是一个爱情故事,关于一对异乡漂泊的年轻人。\\n十年前,见清和小晓偶然地相识在归乡过年的火车上。两人怀揣着共同的梦想,一起在北京打拼,并开始了一段相聚相离的情感之路。\\n十年后,见清和小晓在飞机上再次偶然重逢……\\n命运似乎是一个轮回。在一次次的偶然下,平行线交叉,再平行,故事始终有“然后”。可后来的他们,学会如何去爱了吗?",
"title": "后来的我们",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 26250,
"year": 2018
},
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1520825133.06.jpg"
},
"name": "任鹏远"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p43738.jpg"
},
"name": "徐峥"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p18662.jpg"
},
"name": "王丽坤"
}
],
"comments_count": 540,
"countries": [
"中国大陆"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "任鹏远"
}
],
"genres": [
"剧情",
"悬疑",
"犯罪"
],
"id": 305,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2518645794.jpg"
},
"original_title": "幕后玩家",
"rating": {
"average": 6.9,
"max": 10,
"min": 0,
"stars": "35"
},
"reviews_count": 49,
"summary": "坐拥数亿财产的钟小年(徐峥 饰)意外遭人绑架,不得不在一位神秘人的操控下完 成一道道令人两难的选择题。在选择的过程中,钟小年落入陷阱,不仅巨额财产被盗取、 濒临身败名裂的边缘,还将妻子魏思蒙(王丽坤 饰)牵扯进一个个险境。为了洗脱罪名, 救回爱人,钟小年在重重危机中与神秘人展开了一场关乎生死和救赎的金钱游戏…",
"title": "幕后玩家",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 11432,
"year": 2018
},
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1371547477.26.jpg"
},
"name": "哈斯朝鲁"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1409055274.95.jpg"
},
"name": "陈伟霆"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1460438693.8.jpg"
},
"name": "林允"
}
],
"comments_count": 508,
"countries": [
"中国大陆"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "哈斯朝鲁"
}
],
"genres": [
"奇幻",
"冒险"
],
"id": 313,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2519726014.jpg"
},
"original_title": "战神纪",
"rating": {
"average": 0,
"max": 10,
"min": 0,
"stars": "00"
},
"reviews_count": 62,
"summary": "少年铁木真(陈伟霆 饰)身为部落首领之子,年幼丧父,母亲独自将他抚养成人,铁木真成人之际返回翁吉剌部落迎娶自幼定有婚约的孛尔帖(林允 饰),谁知途中却逐步陷入叔父(赵立新 饰)设置的杀戮陷阱,而青梅竹马的恋人孛尔帖也在新婚之夜被另一部落首领忽出鲁(胡军 饰)掳走,铁木真在好兄弟札木合(李光洁 饰)的支持与萨满长老的辅佐下,踏上拯救恋人和守卫草原的征途……",
"title": "战神纪",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 5439,
"year": 2018
},
{
"casts": [
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1400525104.38.jpg"
},
"name": "张家辉"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1400525104.38.jpg"
},
"name": "张家辉"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p20738.jpg"
},
"name": "徐静蕾"
}
],
"comments_count": 42,
"countries": [
"中国大陆",
"香港"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "张家辉"
}
],
"genres": [
"剧情",
"动作",
"悬疑",
"犯罪"
],
"id": 314,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2520457270.jpg"
},
"original_title": "低压槽:欲望之城 低壓槽",
"rating": {
"average": 0,
"max": 10,
"min": 0,
"stars": "00"
},
"reviews_count": 6,
"summary": "孤城,一座浮华却堕落的罪恶之城,这里充斥着金钱与利益的争夺。然而,在这个亡命之徒的乐园里,仍有少数人坚持着自己心中的正义……\\n警方卧底于秋在上司阿占的运筹帷幄下,多次成功打入当地帮派,斡旋于多方黑色势力之中。于秋在黑帮生活中却好像渐渐迷失自我,他开始怀疑,是否只有“非常”的手段才能主持公正,这让阿占也开始质疑。一次卧底行动中,于秋冒着行动失败的风险和帮派老大激战,结果全体命丧当场。在道德和江湖道义的双重质疑下,于秋选择了自我放逐,他逃离了孤城。\\n然而,于秋内心对惩治罪恶的欲望从未消减,他重整旗鼓回到孤城,而这一次,阿占给他的任务竟然是调查罪恶之城背后最邪恶也最神秘的黑手、人人闻之色变的首脑——“老板”。\\n从一宗离奇的小童绑架案开始,于秋和阿占查出老板的身份和他背后的犯罪网络。神秘的老板控制了商界和黑道,只有毁灭老板才能拯救这座堕落之城。事实上,于秋在...",
"title": "低压槽:欲望之城 低壓槽",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 3205,
"year": 2018
},
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1505279964.74.jpg"
},
"name": "米林宏昌"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1363533549.64.jpg"
},
"name": "杉咲花"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p13768.jpg"
},
"name": "神木隆之介"
}
],
"comments_count": 1079,
"countries": [
"日本"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "米林宏昌"
}
],
"genres": [
"动画",
"奇幻",
"冒险"
],
"id": 315,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2519631933.jpg"
},
"original_title": "玛丽与魔女之花 メアリと魔女の花",
"rating": {
"average": 6.5,
"max": 10,
"min": 0,
"stars": "35"
},
"reviews_count": 21,
"summary": "改编自玛丽·斯图尔特英国儿童文学小说,玛丽被送到乡下阿姨家过暑假,在一只小黑猫的带领下,她进入森林找到一束紫色魔法花,打扫院落时她用沾有花粉的手碰了扫帚,扫帚突然腾空而起,竟然把她送到森林深处的魔法学校,在这里她学习各种神奇有趣的魔法,但玛丽也发现了这所学校不可告人的秘密。",
"title": "玛丽与魔女之花 メアリと魔女の花",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 8696,
"year": 2017
},
{
"casts": [
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1419929763.48.jpg"
},
"name": "陈大利"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1378630537.29.jpg"
},
"name": "毛舜筠"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1516094049.72.jpg"
},
"name": "凌文龙"
}
],
"comments_count": 159,
"countries": [
"中国大陆",
"香港"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "陈大利"
}
],
"genres": [
"剧情"
],
"id": 302,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2520198192.jpg"
},
"original_title": "黄金花",
"rating": {
"average": 6.4,
"max": 10,
"min": 0,
"stars": "30"
},
"reviews_count": 13,
"summary": "黄金花(毛舜筠 饰)与老公(吕良伟 饰) 合力照顾患有自闭症的儿子(凌文龙 饰) 20 年,辛苦而重复的生活让丈夫背离了本以摇摇欲坠的家庭。面对残破狼藉的生活,黄金花产生了不计后果报复一切的想法,天真单纯的儿子成为她布局的关键点。然而儿子并非对母亲的所作所为没有感知,他沉默的以自己的方式挽回步入歧途母亲……面对儿子深沉温暖的爱,黄金花恍然大悟,但等待她的是光明灿烂的未来又或是无边痛楚的地狱?",
"title": "黄金花",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 1912,
"year": 2017
},
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1432840050.06.jpg"
},
"name": "布拉德·佩顿"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p196.jpg"
},
"name": "道恩·强森"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1486878030.07.jpg"
},
"name": "娜奥米·哈里斯"
}
],
"comments_count": 17021,
"countries": [
"美国"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "布拉德·佩顿"
}
],
"genres": [
"动作",
"科幻",
"冒险"
],
"id": 333,
"images": {
"large": "https://img3.doubanio.com/view/photo/s_ratio_poster/public/p2516079193.jpg"
},
"original_title": "狂暴巨兽 Rampage",
"rating": {
"average": 6.7,
"max": 10,
"min": 0,
"stars": "35"
},
"reviews_count": 367,
"summary": "巨石强森饰演的灵长类动物学家一直与人类保持距离, 却跟极为聪明的银背大猩猩乔治有着深厚的感情。但是一次基因实验出错, 让这只温驯的大猩猩变成狂怒难驯的庞然巨兽。更可怕的是, 其他动物也发生了同样基因异变。他必须阻止这场全球性的灾难, 更重要是要拯救他的好友乔治。",
"title": "狂暴巨兽 Rampage",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 10494,
"year": 2018
},
{
"casts": [
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p34602.jpg"
},
"name": "史蒂文·斯皮尔伯格"
},
{
"avatars": {
"large": "https://img3.doubanio.com/view/celebrity/s_ratio_celebrity/public/p1464678182.3.jpg"
},
"name": "泰伊·谢里丹"
},
{
"avatars": {
"large": "https://img1.doubanio.com/view/celebrity/s_ratio_celebrity/public/p8u95Rxw3ebIcel_avatar_uploaded1365073023.28.jpg"
},
"name": "奥利维亚·库克"
}
],
"comments_count": 156940,
"countries": [
"美国"
],
"directors": [
{
"avatars": {
"large": null
},
"name": "史蒂文·斯皮尔伯格"
}
],
"genres": [
"动作",
"科幻",
"冒险"
],
"id": 335,
"images": {
"large": "https://img1.doubanio.com/view/photo/s_ratio_poster/public/p2516578307.jpg"
},
"original_title": "头号玩家 Ready Player One",
"rating": {
"average": 8.9,
"max": 10,
"min": 0,
"stars": "45"
},
"reviews_count": 4274,
"summary": "",
"title": "头号玩家 Ready Player One",
"warning": "数据来源于网络整理,仅供学习,禁止他用。如有侵权请联系公众号:小楼昨夜又秋风。我将及时删除。",
"wish_count": 54245,
"year": 2018
}
],
"total": 26
}
数据格式如下图:
一个对象,首先是key为count、start、subjects、total,前面的key对应相应的value,其中subjects的value是一个数组,包含若干个对象,对象中用key/value保存了很多关于影片的详细信息。
针对上面的数据,我们测试下for in循环:
var amovie = moviesDouban;
for (var idx in amovie){
console.log(idx);
}
count
start
subjects
total
for (var idx in amovie.subjects){
console.log(idx);
}
0
1
2
3
4
5
6
7
8
9
10
11
12
13
总结:for in循环的只是key/value中的key,也就是下标/索引