map和each返回值的区别
代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < title >习题</ title > </ head > < body > < h1 >筛选和遍历jQuery对象</ h1 > < ul > < li class = "item1" >item1</ li > < li class = "item2" >item2</ li > < li class = "item3" >item3</ li > < li class = "item4" >item4</ li > < li class = "item5" >item5</ li > < li class = "item6" >item6</ li > < li class = "item7" >item7</ li > < li class = "item8" >item8</ li > < li class = "item9" >item9</ li > </ ul > < script src = "http://cdn.bootcss.com/jquery/1.12.4/jquery.js" ></ script > < script > $(function () { var eleArr1 = $('li').map(function(index,domElement){ return this.innerText; }); console.log(eleArr1.get()); }); $(function(){ var eleArr2 = $('li').each(function(index,domElement){ return this.innerText; }); console.log(eleArr2.get()); }) </ script > </ body > </ html > |
第25行-第30行使用的是map,成功的实现了题目的要求,打印出了如下数组:
["item1", "item2", "item3", "item4", "item5", "item6", "item7", "item8", "item9"]
而第31行-第36行使用的是each,打印结果却是
[li.item1, li.item2, li.item3, li.item4, li.item5, li.item6, li.item7, li.item8, li.item9]
请问,如果使用each,怎样才能打印出题目要求的结果?
54
收起
正在回答
2回答
创建一个新数组,将获得的项加入到数组中,打印出这个数组,就是跟效果图一样了。
前端小白入门系列课程
- 参与学习 人
- 提交作业 11218 份
- 解答问题 36712 个
从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧