【问题标题】:JavaScript - Reverse Array with empty field and add it to the old arrayJavaScript - 使用空字段反转数组并将其添加到旧数组中
【发布时间】:2016-04-03 03:42:50
【问题描述】:

我有一个包含空字段的数组。 特别是它看起来如下:

array() {[4]  => 3,[8]  => 6,[17] => 24}

我之所以这样使用它,是因为我正在用它绘制图表。举个例子:在 4 厘米处,图形的高度为 3 厘米。等等。

现在的问题是公式只计算了一半的值,因为图的第二部分只是镜像。所以我需要删除数组的最后一部分,然后反转其余部分,同时保持它们与原始数组中删除的值的距离。
我需要一个可以为我计算的算法。

array() {[26] =>6, [30] => 3}

【问题讨论】:

  • 我不明白您将第一个数组转换为第二个数组的过程。 26 和 30 是从哪里来的?

标签: javascript arrays reverse


【解决方案1】:

我认为数组不是一个很好的数据类型,因为其中可能有数千个 undefined 值,但是用缺失值填充数组相当容易。您只需向后遍历数组并将遇到的值推送到数组中。

var ar = [/*your input*/];

/* ar.length-1 would be the last position of your array
   so you want to go from position ar.lenght-2 */
for (var i = ar.length-2;i>=0;i--){ar.push(ar[i])}

使用对象可能会更好,这样您就可以使用表示图形节点的键值对。

【讨论】:

    【解决方案2】:

    不确定它是否完美运行,但请遵循逻辑。假设您的原始数组是a .

    a.fill(0).concat(a.reverse().slice(1));
    

    先反转原数组,去掉第一个元素(也就是原数组的最后一个元素)。然后将填充零的原始数组(删除所有值,您可以填充未定义或其他值)与反转的数组连接。繁荣,你得到了你的新阵列。

    【讨论】:

      猜你喜欢
      • 2022-10-25
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多