js 怎么重复任意次数组内部项?

[1,2,3]

内部怎么被任意次重复

阅读 1.7k
2 个回答
// 重复某一项任意次,注意如果是引用类型最好是拷贝下
var arr = [1,2,3]
var index = 1; // 重复项
var count = 5; // 重复次数
arr.splice(index, 0, ...Array.from({length: count}, () => arr[index])) // splice会修改原数组


// 重复数组本身任意次
arr.concat(...Array.from({length:count}, () => arr)) // concat返回的是新数组

是想像这样?
[1,2,3] => [1,2,3,1,2,3]

function arrRepeat(arr=[],times=0){
    let result = [];
    for(let i=0;i<times;i++){
        result = [...result,...arr];
    }
    return result;
}

let arr = [1,2,3];
console.log(arrRepeat(arr,4))

/*
[
  1, 2, 3, 
  1, 2, 3, 
  1, 2, 3, 
  1, 2, 3
]
*/
推荐问题