Я создаю несколько конкретных функций для компилятора, над которым я работаю, но некоторые ограничения в природе компилятора помешают мне использовать встроенные методы JavaScript, такие как Array.prototype.pop()
, для выполнения всплывающих окон массива. .Restricted JavaScript Array Pop Polyfill не работает
Поэтому я решил попытаться написать некоторый рудиментарный псевдокод, чтобы попытаться подражать процессу, а затем основывать свою конечную функцию на псевдокоде ... Но мои тесты, похоже, терпят неудачу ... на основе текущее поведение компилятора, это позволит мне использовать array.length
, назначение элементов массива, и это о нем ... Мой код ниже ...
pop2 = function(arr) {
if(arr.length>0){
for(var w=undefined,x=[],y=0,z=arr.length;y<=z;y++){
y+1<z?(x[y]=arr[y]):(w=arr[y],arr=x);
}
}
return w;
}
Arr = [-1,0,1,2];
// Testing...
console.log(pop2(Arr)); // undefined... should be 2
console.log(Arr); // [-1,0,1,2]... should be [-1,0,1]
Я пытаюсь подражать природе функции pop
, но не может показаться, что мой палец указывает на то, что заставляет функцию по-прежнему предоставлять undefined
, а исходный массив ... undefined
должен возвращаться только в том случае, если начальный пустой массив отправлено, точно так же, как вы ожидали бы с помощью [].pop()
...
У кого-нибудь есть подсказки относительно того, как я могу адаптировать этот код, чтобы правильно имитировать поп?
И хотя я слышал, что arr.splice(array.length-1,1)[0];
может работать ... компилятор в настоящее время не способен определять splice
или аналогичные методы ... Возможно ли это сделать, используя изменение моего кода?
Заранее спасибо ...