将数组中的最后一项返回到第一点

时间:2019-02-11 06:14:44

标签: javascript

下面的代码是否有更好的方法。我的代码正在运行,但是我只是想知道是否有更好的方法。 我有一个数组,我想将此数组中的最后一个项目返回到第一个位置。

const replce = arr => {
       let n = arr.pop();
       arr.splice(0, 0, n);
       return arr;
    };

console.log(replce(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']));

7 个答案:

答案 0 :(得分:3)

您可以将 Pop destructing 一起使用。

let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
let last = arr.pop()
let final = [last,...arr]

console.log(final)

答案 1 :(得分:2)

const replce = arr => {
   return arr.unshift(arr.pop()) && arr;
};

console.log(replce(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']));

又矮又甜。

答案 2 :(得分:1)

可以在一个解构表达式中交换两个变量值。请参考文档 Destructuring assignment

var arr = ['a', 'b', 'c', 'd','e','f','g','h'];
[arr[0], arr[arr.length-1]] = [arr[arr.length-1], arr[0]];
console.log(arr);

答案 3 :(得分:0)

您可以将system("lpr", filename.pdf)unshift()结合使用,请参考this。 Unshift将元素添加到数组中的第一个索引

pop()

答案 4 :(得分:0)

unshift()将添加到数组的开头,而pop()将从数组的末尾删除。下面的示例将向您展示如何执行此操作。

const replace = arr =>{
	let tempvalue = arr.pop();
	arr.unshift(tempvalue);
	return arr;
}
console.log(replace(['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']));

由于尚未测试速度,因此不确定是否可以更好地称呼它,但它更易于阅读。

答案 5 :(得分:0)

 let arr = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h'];
    console.log(arr);
    arr = arr.reverse();
    console.log(arr);

答案 6 :(得分:0)

您还可以使用此逻辑从阵列中删除最后一个项目,并将该项目放置到第一个位置。

private void Update()
{
    var targetPosition = pointA ? pointOne.position : pointTwo.position;

    if (transform.position == targetPosition)
    {
        // invert pointA
        pointA = !pointA;
        // also update the targetPosition
        targetPosition = pointA ? pointOne.position : pointTwo.position;
    }

    // move towards the target using Time.deltaTime
    transform.position = Vector2.MoveTowards(transform.position, targetPosition, speed * Time.deltaTime);

    // actually you could get rid of this flag as well
    // since it always has the same value as pointA
    goingRight = pointA;

    anim.Play(goingRight ? animRight : animLeft);
}