4 回答

TA貢獻1845條經驗 獲得超8個贊
您可以采用單獨的索引并分配值。
const func = (a, n) => {
let array = [],
i = 0;
while (n--) for (const v of a) array[i++] = v;
return array;
};
console.log(...func([1, 2, 3, 4], 2));

TA貢獻1813條經驗 獲得超2個贊
您可以使用擴展運算符為循環的每次迭代創建一個新數組。這意味著您的arr變量不能是常量,因為它會被新數組覆蓋。
const func = (a, n) => {
let arr = [];
for (let i = 0; i < n; i++) {
arr = [...arr, ...a];
}
console.log(arr);
};
func([1, 2, 3, 4], 2);

TA貢獻1873條經驗 獲得超9個贊
好吧,您可以使用兩個循環并直接分配i數組項。
const func = (a, n) => {
const arr = [];
for (let i = 0; i < n; i++) {
for (let j = 0; j < a.length; j++) {
arr[i * a.length + j] = a[j]
}
}
console.log(arr);
};
func([1, 2, 3, 4], 2);

TA貢獻1893條經驗 獲得超10個贊
那 ?
const func=(a, n)=>
{
const arr = []
let p = 0
for (let i=0;i<n;++i) for(let v of a) arr[p++] = v
console.log(JSON.stringify(arr));
}
func([1, 2, 3, 4], 2);
添加回答
舉報