javascript - 如何在 Javascript 中从小数组填充大数组

标签 javascript arrays

假设我有一个数组:

const A = [1,2,3]

我想用 A 的元素填充另一个数组,例如 BB.length >> A.length

我对任何可以帮助创建以下形式的数组 B 的函数感兴趣:

[1,1,1,2,2,2,2,2,3,3,3,3,2,2,2,1,3,1]

A 元素到 B 的放置取决于指定的索引限制。元素1可以放置在B中的几个指定位置/间隔。B的长度是已知的; NB 的长度。

在我的试用中,我尝试使用 array.fill 函数,但不知道如何获取开始和结束索引。任何帮助将不胜感激。

const A = [1,2,3];
const B = [];
for (let k = 0; k < A.length; k++){
  for (let j = 0; j < N; j++){
    B.fill(A[k], start_index[j], end_index[j]);
  }
}

最佳答案

由于您要使用 A 的相同元素填充 B 的多个范围,因此您需要一个具有多个 start/end/index 组合。

.fill() 本身不会扩展数组的长度,因此在追加新元素时需要调整长度。

const params = [
    {index: 0, start: 0, end: 3},
    {index: 1, start: 3, end: 8},
    {index: 2, start: 8, end: 12},
    {index: 1, start: 12, end: 15},
    {index: 0, start: 15, end: 16},
    {index: 2, start: 16, end: 17},
    {index: 0, start: 17, end: 18}
];
const A = [1, 2, 3];
const B = [];
params.forEach(({index, start, end}) => {
  if (B.length < end) {
    B.length = end;
  }
  B.fill(A[index], start, end)
});

console.log(B);

关于javascript - 如何在 Javascript 中从小数组填充大数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53106721/

相关文章:

php - 如何从 javascript 发出 ajax 请求以获取核心 php 功能

javascript - 在javascript中找到从数组到数组的字符串匹配数?

ios - 如何使用 ImageView 从图像数组创建随机图像生成器?

javascript - 检查数组中的值

c - 将数组元素分配给另一个时,包含意外值

javascript - 记录对象模型问题

javascript - 如何使这个交换图像代码在 wordpress 中工作

javascript - 我如何使用 jQuery 比较两个数组(可以有 : DOM elements, 数字、字符串、数组或字典)?

javascript - 我的 node.js GET 调用从 mongo .find() 返回一个空数组

javascript - 使用Javascript检测可视区域的高度