array.pop() не функциональная проблема, javascipt

#javascript

#javascript

Вопрос:

У меня часто возникает эта проблема с методами массива, поэтому я предполагаю, что я что-то упускаю. Я попытался найти решение, но потерпел неудачу. Если у вас есть какие-либо подсказки, почему он говорит, что array не является функцией (я использую его для массива), пожалуйста, сообщите. Кроме того, a, b, c определены в html.

 function jes(a, b, c) {
    a = parseInt(a);
    b = parseInt(b);
    c = parseInt(c);
    var arej = [a, b, c];
    var si = arej.pop();
    arej = arej.unshift(si);
    var ki = arej.pop();
    arej = arej.unshift(ki);
    var bi = arej.pop();
    arej = arej.unshift(bi);
    alert(arej);
}
 

Комментарии:

1. Вы устраняли неполадки, при которых один из pop вызовов завершается с ошибкой? и каково значение массива в этом случае?

2. Да, это второй вызов pop() в строке 8. В нем также говорится, что массив не определен, и я не уверен, почему

Ответ №1:

Array.unshift() изменяет заданный массив вместо возврата измененной версии. Он возвращает длину измененного массива.

 function jes(a,b,c)
{
    a=parseInt(a);
    b=parseInt(b);
    c=parseInt(c);
    var arej=[a,b,c];
    var si=arej.pop();
    arej.unshift(si);
    var ki = arej.pop();
    arej.unshift(ki);
    var bi=arej.pop();
    arej.unshift(bi);
    alert(arej);
}
 

у вас должно быть:

  • выяснил, где произошел сбой
  • затем поискал метод, который не удался

Комментарии:

1. Спасибо, мой msitake за то, что неправильно запомнил, что возвращает unshift.

Ответ №2:

unshift() Метод возвращает новую длину массива. Итак, ваш массив переназначается как числовой тип. Следовательно, вы получаете ошибку.

Массив изменяется на месте. Вы можете внести изменения следующим образом:

 function jes(a, b, c) {
a = parseInt(a);
b = parseInt(b);
c = parseInt(c);
var arej = [a, b, c];
var si = arej.pop();
arej.unshift(si);
var ki = arej.pop();
arej.unshift(ki);
var bi = arej.pop();
arej.unshift(bi);
alert(arej);
 

}

Комментарии:

1. Спасибо, мой msitake за то, что неправильно запомнил, что возвращает unshift