Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ES6在Javascript中重新排列数组_Javascript_Ecmascript 6 - Fatal编程技术网

使用ES6在Javascript中重新排列数组

使用ES6在Javascript中重新排列数组,javascript,ecmascript-6,Javascript,Ecmascript 6,我想用ES6对数组重新排序。 例如: [1,2,3,4,5,6,7,8,9] 当我的起始编号为5时,我需要一个如下所示的新数组: [5,6,7,8,9,1,2,3,4]. 我可以通过循环、比较、切片、将东西粘在一起来解决这个问题 不过,我已经阅读了ES6的一些有趣的阵列功能,这些功能可能会使这变得更容易。但我在实践中遇到了困难。所以我不确定这是否是你的想法,但假设你的意思是我们从5开始,因为它的值(如果你从1开始计算,则不是位置)是5,下面的方法应该行得通(尽管可能不是你想要

我想用ES6对数组重新排序。 例如:

    [1,2,3,4,5,6,7,8,9]
当我的起始编号为5时,我需要一个如下所示的新数组:

    [5,6,7,8,9,1,2,3,4].
我可以通过循环、比较、切片、将东西粘在一起来解决这个问题


不过,我已经阅读了ES6的一些有趣的阵列功能,这些功能可能会使这变得更容易。但我在实践中遇到了困难。

所以我不确定这是否是你的想法,但假设你的意思是我们从5开始,因为它的值(如果你从1开始计算,则不是位置)是5,下面的方法应该行得通(尽管可能不是你想要的新奇想法)

可能是

let newArr = [...arr.slice(arr.indexOf(5)), ...arr.slice(0, arr.indexOf(5))]


另外,您选择数组中的第5个(索引4)点是因为您的起始数字是5还是因为它恰好是5的位置?换句话说,如果起始编号为5,输入[1,2,5,3,4,6,7,8,9],这个方法应该做什么?你读过什么,有什么问题吗?
let newArr = [...arr.slice(arr.indexOf(5)), ...arr.slice(0, arr.indexOf(5))]
let newArr = [...arr];
newArr = [...newArr.splice(arr.indexOf(5)), ...newArr];