javascript - 添加到数组兄弟

标签 javascript arrays

我有一个包含 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/

相关文章:

javascript - 如何在用户 Bootstrap 表中搜索用户?

javascript - 在javascript中获取上个月/上个月的最后一天

javascript - 拖动并插入 div 到另一个 div

arrays - 使用字素与分割的 UTF-8 字符串数组

sql - 按多列分组并将结果作为单独列中的数组

C++制作指向const对象的指针数组

javascript - 插入 iFrame,然后在 FF 上的所有其他内容之前加载它

javascript - Knockout.JS 打印数字列表

java - 如何使字符串变量保存两个不同数组的值?

c++ - 如何将字符串数组作为 BSTR* 传递给 Web 服务代理