为了账号安全,请及时绑定邮箱和手机立即绑定

js双重循环返回的问题

js双重循环返回的问题

www说 2018-12-20 18:15:17
 var arr = [3,2,2,2]; var arr1 = [{},{},{},{},{},{},{}] 想循环arr1 最后返回的是arr1根据arr的value值 返回对应的数组 想要得到的是 [0,0,0,1,1,2,2,3,3]var arr = [3,2,2,2];var arr1 = [{},{},{},{},{},{},{}] // 返回 [0,0,0,1,1,2,2]var d = arr1.map(function(value,index){    let num = 0    arr.forEach((v,i) =>{        if(v ==3){            num = 0;        }else if(v ==2){            num ++;        }    })    return num})console.log(d)感觉怎么写都不对 老司机指导迷津 不胜赶紧
查看完整描述

1 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

arr1 根据 arr 得到数据,肯定外层循环的是 arr,然后再往 arr1 中 push 值


你的思路是不是这样子的?


遍历 arr,在arr1中放入 item 个 index 值。 比如 arr[0]=3 在 arr1 中放入 3 个 0,这种操作?


    var arr = [3, 2, 2, 2];

    var arr1 = [] // 返回 [0,0,0,1,1,2,2]

    arr.forEach(function (item, index) {

        while(item-- > 0){

            arr1.push(index);

        }

    });

    console.log(arr1);


查看完整回答
反对 回复 2019-01-28
  • 1 回答
  • 0 关注
  • 603 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信