从最后一个元素到第一个元素添加到数组

萨拉·里

我需要一些帮助来修改或创建一个函数来完成一个简单的任务;

这是我的功能:

function arra(sum, length){
  var array = [];
  for(let i = 0; i < length; i++) {
    array.push(0);
  }
  
  //console.log(array) 
  for(let i = 0; i < sum; i++){
     array[i] ++
  }
  
  
  return array;
}

console.log(arra(0, 7));
console.log(arra(3, 7));
console.log(arra(7, 7));
console.log(arra(10, 7));

在这里,首先,我们创建一个带有的数组length,然后将其推0入其中的每个元素。所以数组将是:[0, 0, 0, 0 ,0 ,0 ,0]

然后根据sum我想从的最后一个元素array到开头添加1的值问题是我想回到第一个元素,如果有足够的话再继续加1 sum

因此,如果执行此命令arra(3, 7);[0, 0, 0, 0 ,1 ,1, 1]

如果执行此命令:arra(7, 7)我将拥有:[1, 1, 1, 1 ,1 ,1 ,1]

但是问题是当我执行此命令时:arra(10, 7)我得到:[1, 1, 1, 1, 1, 1, 1, NaN, NaN, NaN]那是意外的。我希望有 :[1, 1, 1, 1 ,2 ,2 ,2]

另一个问题是我无法从最后一个元素到第一个元素添加到数组...

编辑:伙计们如何解决?

马克·迈耶

如果要“环绕”,则可以使用长度的模数来索引数组array[i%length]如果您想从另一端开始,则可以从中减去array[length - 1 - i % length]-我不清楚您想要哪个顺序,但是相同的想法在两种方式中都有效:

function arra(sum, length){
  var array = Array(length).fill(0)   
  
  //console.log(array) 
  for(let i = 0; i < sum; i++){
     array[length - 1 - i % length] ++
  }
  
  
  return array;
}

console.log(arra(0, 7));
console.log(arra(3, 7));
console.log(arra(7, 7));
console.log(arra(10, 7));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

删除数组中的第一个和最后一个元素

NumPy数组中的第一个和最后一个元素

通过jQuery将项目添加到元素列表中的第一个li

将Class添加到第二个元素,从第一个元素开始计数

交换数组的所有元素,除了第一个和最后一个

数组第一个元素

如何从一个向量中删除min元素并添加到另一个向量,而第一个变为空?

Fortran使头指向第一个元素/添加到列表的末尾

从第k个最后一个元素到第k个第一个元素的numpy索引

将元素从第一个数组添加到第二个数组

查找大于阈值的NumPy数组的第一个和最后一个元素

找到一个数组的第一个和最后一个索引,其元素从和到的顺序总和最大

数组中的第一个元素不断被覆盖,不会添加到数组中

将第一个元素原子添加到ConcurrentLinkedQueue

将一个元素添加到多维数组

将元素添加到3D数组中的第一个数组的第一个数组时,Numpy Array的尺寸会更改

将类“ last”添加到while循环中数组的最后一个元素

保留数组的第一个索引元素和最后一个索引元素

从包含字符串的第一个元素到包含另一个元素的最后一个元素获取数组的切片

将键0添加到数组PHP中的其他元素时,将删除第一个数组元素

为什么只有第一个元素被添加到div中

数组中除第一个和最后一个元素外的其他元素

如何通过将数字添加到数组“名称”(即存储第一个元素的地址的常量指针)来访问数组的元素?

减少数组到第一个和最后一个元素的元组?

添加第一个元素或删除最后一个元素时触发事件的设置

如何将 Observable<T> 的第一个元素添加到每个组?

如何在C++中将元素添加到数组的最后一个

在python中将第一个单词添加到句子的最后一个

排除数组的第一个和最后一个元素