亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

在寫printcourseinfo函數時,為什么遍歷courseData用.each方法不行

var?http=require('http')
var?cheerio=require('cheerio')
var?url?=?'http://www.xianlaiwan.cn/learn/348'

var?filterChapter=function(data){
????var?$?=?cheerio.load(data)
????var?chapters=$('.chapter')
????var?courseData?=?[]

????chapters.each(function(item){
???????var?chapter=$(this)
???????chapterTitle=chapter.find("strong").text()
???????videos=chapter.find("li")
???????var?chapterData={
????????chapterTitle:chapterTitle,
????????videos:[]
???????}
???????videos.each(function(item){
????????var?video=$(this)
????????var?videoTitle=video.find(".J-media-item").text()
????????var?id?=?video.find(".J-media-item").attr("href").split("video/")[1]
????????
????????chapterData.videos.push({
????????????videoTitle:videoTitle,
????????????id:id
????????})
???????})
???????courseData.push(chapterData)
???????

????})

return?courseData
}
function?printcourseinfo(courseData){
????courseData.forEach(function(item){
????????var?chapterTitle=item.chapterTitle
????????console.log(chapterTitle+'\n')
????????item.videos.forEach(function(it){
????????????var?videoTitle=?it.videoTitle
????????????var?videoid=it.id
????????????console.log(videoTitle+"?"+videoid+"\n")
????????})

????})
}
http.get(url,function(res){
????var?html?=?''
????res.on('data',function(data){
????????html?+=?data
????})
????res.on('end',function(){
????????var?courseData?=?filterChapter(html)
????????printcourseinfo(courseData)
????})
}).on('error',function(){
????console.log('獲取課程數據')
})


正在回答

1 回答

courseData為數組,因為.each方法是遍歷對象的,無法遍歷數組,.forEach才是遍歷數組的方法

0 回復 有任何疑惑可以回復我~
#1

1VAN1 提問者

非常感謝!
2016-08-04 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
進擊Node.js基礎(一)
  • 參與學習       219329    人
  • 解答問題       982    個

本視頻教程帶你揭開Node.js的面紗,帶你走進一個全新世界

進入課程

在寫printcourseinfo函數時,為什么遍歷courseData用.each方法不行

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號