关于js循环取值压入数组的问题

lisiyuqinqinni 2017-05-31 06:12:29
var halou = [1,2,3,4,5]
var nihao = {
li:'',
ul:''
}
var ceshi =[];
for(var i=0;i<halou.length;i++){
(function(n){
//作用域会保护i变量,不会随外部变化
nihao.li=halou[i];
ceshi.push(nihao);
console.log(ceshi);
})(i);
}
如何得到[{li:'1',ul:''},{li:'2',ul:''},{li:'3',ul:''},{li:'4',ul:''},{li:'5',ul:''}]
...全文
140 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
天际的海浪 2017-05-31
  • 打赏
  • 举报
回复
要每次循环都创建个新的对象,不要重复使用一个对象

var halou = [1,2,3,4,5]
var ceshi =[];
for(var i=0;i<halou.length;i++){
    var nihao = {
        li:halou[i],
        ul:''
    }
    ceshi.push(nihao);
}
console.log(ceshi);

87,993

社区成员

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

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