在python中你可以做到:
arr = [1,2,3] * 3
print(arr)
Run Code Online (Sandbox Code Playgroud)
输出:
[1,2,3,1,2,3,1,2,3]
Run Code Online (Sandbox Code Playgroud)
在java脚本中有这种简洁的方法吗?我能想到的最好的是:
let arr2 = [...arr, ...arr, ...arr]
Run Code Online (Sandbox Code Playgroud)
但如果我想这样做100次,那将是不切实际的.在python中我会将它乘以100.
你可以这样做:
var repeated = [].concat(... new Array(100).fill([1, 2, 3]));
Run Code Online (Sandbox Code Playgroud)
这将创建一个给定长度的数组(此处为100)并使用要重复的数组填充它([1, 2, 3]).然后将该数组作为参数列表传播到[].concat().
哦等等
var repeated = new Array(100).fill([1, 2, 3]).flat();
Run Code Online (Sandbox Code Playgroud)
会有点短.
您可以创建一个具有所需长度的数组并映射这些值。
var array = [1, 2, 3],
result = Array.from({ length: 3 * array.length }, (_, i) => array[i % array.length]);
console.log(result);Run Code Online (Sandbox Code Playgroud)
使用Array.from()创建与所述乘数,其中,每个项目包含原始阵列的长度的阵列.然后使用Array.flat()转换为单个数组:
const multiplyArray = (arr, length) =>
Array.from({ length }, () => arr).flat()
const arr = [1,2,3]
const arr2 = multiplyArray(arr, 3)
console.log(arr2)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
233 次 |
| 最近记录: |