【问题标题】:How do I move each element in an array in 1 spot? [duplicate]如何将数组中的每个元素移动到 1 个位置? [复制]
【发布时间】:2021-02-26 10:56:44
【问题描述】:

对不起,如果这是一个非常基本的问题,但我以前从未遇到过这个问题。我将以非常基本的方式说明我的意思:

假设我有数组 [1, 2, 3]。我怎样才能把它变成 [3, 1, 2] 或 [2, 3, 1] (将每个元素 1 向右或向左移动)?提前致谢!

【问题讨论】:

标签: javascript


【解决方案1】:

试试这个:

var x = [1, 2, 3];

console.log(x);

// shift right
x.unshift(x.pop());

console.log(x);

// shift left

x.push(x.shift());

console.log(x);

查看here 了解这些方法的作用。

【讨论】:

    【解决方案2】:

    function shiftRight(arr) {
      if (arr.length < 2) return arr;
      return [arr[arr.length-1], ...arr.splice(0, arr.length - 1)];
    }
    function shiftLeft(arr) {
      if (arr.length < 2) return arr;
      return [...arr.splice(1, arr.length - 1), arr[0]];
    }
    console.log(shiftLeft([1, 2, 3, 4, 5]));
    console.log(shiftRight([1, 2, 3, 4, 5]));

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 2011-07-15
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 2017-05-13
      • 1970-01-01
      相关资源
      最近更新 更多