例如我有
this.clients.clientTypes = [10,20,30,40]
this.clients.clientInputs.length
具有所需的长度,让我们说这个例子8
(这总是与类型成比例)
如何填充数组this.clients.clientTypes
以便我获得[10,20,30,40,10,20,30,40]
?
this.clients.clientTypes = Array(this.clients.clientInputs.length).fill(??)
答案 0 :(得分:0)
基于克里希纳,我做到了这一点。
for(let i = 0; i <= (this.clients.clientInputs.length - this.clients.clientTypes.length); i++) {
this.clients.clientTypes.push(this.clients.clientTypes[i]);
}
有更好的解决方案吗?
答案 1 :(得分:0)
生成给定长度的数组,然后使用array#from
的回调填充初始数组中的值。
const arr = [10, 20, 30, 40],
newArr = Array.from({length: 8}, (v, i) => arr[i % arr.length]);
console.log(newArr);
&#13;
答案 2 :(得分:0)
您可以使用所需长度(Array.from
)生成一个数组,并使用映射的余数运算符映射(Array.from
的第二个参数)。
var array = [10, 20, 30, 40],
length = 8,
result = Array.from({ length }, (_, i) => array[i % array.length]);
console.log(result);
&#13;
答案 3 :(得分:0)
请告诉我这是你想要的。
JavaSparkContext javaSparkContext = createSparkContext();
Broadcast<BroadcastContext> broadcastContext = getBroadcastContext(javaSparkContext);
JavaStreamingContext javaStreamingContext = JavaStreamingContext.getOrCreate(sparkCheckPointDir,
() -> processor.create(sparkCheckPointDir, javaSparkContext));
&#13;
答案 4 :(得分:0)
for (let i = 0, len = this.clients.clientTypes; i < this.clients.clientInputs.length; i++) {
this.clients.clientTypes.push(types[i%len])
}
答案 5 :(得分:0)
this.clients.clientTypes.length = 0;
this.clients.clientTypes = this.clients.clientInputs;
试试这个。
答案 6 :(得分:0)
您可以使用以下逻辑来实现此目的:
let clientTypes = [10, 20, 30, 40];
let clientInputsLength = 10;
let result = []
for(let i = 0; i < clientInputsLength; i++) {
result.push(clientTypes[i%clientTypes.length])
}
console.log(result);
答案 7 :(得分:0)
只需使用以下功能并在需要的地方调用
const push = (arr, length) => {
if (arr.length === length) return arr;
let result = [];
for (let i = 1; i <= (length/arr.length); i++){
result.push(...arr);
}
return result;
}
答案 8 :(得分:-1)
为什么不简单地使用JQuery function:$ .merge
this.clients.clientTypes = [10,20,30,40];
$.merge(this.clients.clientTypes,this.clients.clientTypes);
console.log(this.clients.clientTypes);
答案 9 :(得分:-1)
您可以使用Array.reduce
:
var a = [1, 2, 3, 4];
console.log(a.reduce(function(result, current) {
result.push(current);
return result;
}, a));
请参阅https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce