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);
添加回答
举报
0/150
提交
取消