我有一个包含 10 个项目的数组:
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
每个数组都包含一个 0 的整数。
我想做的是将值 10 添加到索引 4。然后让 3 个外部索引接收减半的值。这是一个视觉示例:
| 0 | 1.25 | 2.5 | 5 | 10 | 5 | 2.5 | 1.25 | 0 |
因此,无论我选择什么索引,都将获得值 10。左侧和右侧的第一个项目将获得该值/2,更远的外部项目将获得该值/4,依此类推。
var indexesToCheck = 3; // Will check 3 before and 3 after the selected index
var array = [];
var arrayItems = 10;
for(var i = 0; i < arrayItems.length; i++) {
array.push(0);
}
function setArrayValue(i, value) {
array[i] = value;
// How do I go about checking the next and previous 3 values and setting the halved value?
}
setArrayValue(4, 10);
我们将不胜感激朝着正确的方向前进。
谢谢!
最佳答案
从您的示例代码来看,您似乎想就地修改数组,而不是返回一个新数组。下面是我的实现:
var indexesToCheck = 3;
var array = new Array(10).fill(0);
function setArrayValue(i, value) {
array[i] = value;
for (let j = 1; j <= indexesToCheck; j++) {
value /= 2;
array[i - j] = value;
array[i + j] = value;
}
}
setArrayValue(4, 10)
console.log(array);
关于javascript - 添加到数组兄弟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44032166/