【问题标题】:Javascript Shift Values Of Array [duplicate]数组的Javascript移位值[重复]
【发布时间】:2020-08-16 02:03:37
【问题描述】:

我正在尝试将数组的值移动一个随机数。 示例:

var array = [1,2,3,4];
var shiftAmount = 1;

我想把它换成 [4,1,2,3]

【问题讨论】:

  • 好的,所以你告诉我们你想做什么,但没有向我们展示任何解决它的尝试来告诉我们你在哪里卡住了。有很多方法可以做到这一点......向我们展示您的尝试。见How do I ask and answer homework questions?

标签: javascript node.js arrays


【解决方案1】:

只需使用 sliceconcat 拆分数组,然后相反。必须使用模数组长度计算移位,以便您可以移位任何数字。
要获取随机数,请使用 Math.random() 并使用 Math.round 对其进行舍入。因为随机传递的值介于 0 和 1 之间,所以您必须将它与 arraylength -1 相乘(因为索引计数从 0 到长度 -1)。

function shiftArray(arr,shift) {
    shift = shift % array.length;
    return arr.slice(shift).concat(arr.slice(0,shift));
}

var array = [1,2,3,4];
let shift = Math.round(Math.random() * (array.length-1));
let result = shiftArray(array, shift);
console.log('Shift by ' + shift + ': ',result.toString());

【讨论】:

    猜你喜欢
    • 2016-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2013-04-10
    • 2012-06-16
    • 2021-09-09
    • 2019-03-08
    相关资源
    最近更新 更多