为什么在调用时说push不是函数?

时间:2019-09-26 06:10:27

标签: javascript arrays

function rotLeft(a, d) {
    var temp=[];
    temp=a.splice(0);
    for(let i=0; i<d-1; i++)
    {
        var first=temp.shift();
        temp=temp.push(first);
    }
    var result=temp;
    return temp;
}

如果您知道hackerrank中的“向左旋转”问题,为什么不使用此代码。控制台说推送不是功能。这段代码有什么问题。另外,请解释arr.shift(arr.push(arr[0]));这一行。第一个元素被推到最后一个元素,第一个元素被删除了吗?

1 个答案:

答案 0 :(得分:0)

应该为temp.push(first);而不是temp=temp.push(first);

function rotLeft(a, d) {
    var temp=[];
    temp=a.splice(0);
    for(let i=0; i<d-1; i++)
    {
        var first=temp.shift();
        temp.push(first);
    }
    var result=temp;
    return temp;
}
console.log(rotLeft([1,2,3,4,5,6],8))