使用ES6在Javascript中重新排列数组
我想用ES6对数组重新排序。 例如:使用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,下面的方法应该行得通(尽管可能不是你想要
[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];