【问题标题】:reverse() method in array javaScript? [closed]数组javascript中的reverse()方法? [关闭]
【发布时间】:2021-02-24 06:29:40
【问题描述】:

我实际上可能有点困惑有人请清除我,问题是在我的代码中我有一个包含 10 个元素的数组,我想反转元素但从 3-8 位置,而不是整个数组元素,是否有可能我尝试通过索引但没有其他选项,请在这里告诉我解决方案。

【问题讨论】:

  • 你可以使用类似[].concat(array.slice(0,3), array.slice(3,8).reverse(), array.slice(8))
  • array.splice(2, 0, ...array.splice(2, 8).reverse())

标签: javascript arrays developer-tools


【解决方案1】:

reverse 方法将调用数组对象的元素就地转置,改变数组,并返回对数组的引用。此函数也没有任何参数。另外我建议你吹一个解决方案:

var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var result = customReverse(nums, 2, 8)

function customReverse(arr, start, end)
{
    let startArr = arr.splice(0,start);
    let endArr = arr.splice(end-start, arr.length-1);
    return startArr.concat(arr.reverse()).concat(endArr);
}

【讨论】:

    【解决方案2】:

    有很多方法可以实现这一目标。但是您可以简单地按照以下代码进行操作。我认为这是最简单的解决方案。

    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
    var slicedArr = arr.slice(3, 8).reverse();
    
    arr = arr.slice(0,3);
    arr.push(...slicedArr);
    

    【讨论】:

      【解决方案3】:

      我建议你阅读How do I ask a good question?

      至于你的问题,这可以使用SliceReverseConcat来实现:

      let original = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
      let modified = original.slice(0, 2).concat(original.slice(2).reverse());
      console.log({ original, modified });

      【讨论】:

        【解决方案4】:

        您需要创建另一个数组并将索引值设置为 3-8。现在将其反转并再次将其放入旧数组中。

        var stack = [1,2,3,4,5,6,7,8,9,10];
        
        var temp_stack = stack.splice(3,5); // start from 3 count next 5 indexes.
        
        temp_stack.reverse(); // This will reverse the values.
        
        // This line again put the reversed array into old array.
        stack.splice.apply(stack, [3, 0].concat(temp_stack)); 
        
        // Now the "stack" will be [ 1, 2, 3, 8, 7, 6, 5, 4, 9, 10 ]
        

        【讨论】:

          猜你喜欢
          • 2017-07-10
          • 2022-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-04-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多