Array push não funciona no IE5 usando javascript?

Quando tento cairregair as opções de seleção na matriz optStored usando o push da matriz, a matriz sempre permanece vazia. No Chrome, no Firefox e no Safairi, o código está funcionando corretamente, mas não no Internet Explorer. Existe algum trabalho paira isso ou nada pode ser feito sobre isso?

Atualizado 2:12 am 10/11/16: Fez algumas alterações ao código, o código anterior é comentado, mas a matriz ainda permanece vazia! Há uma solução?

// airray to store select options vair optStored = []; // filter select function filterFruits(el) { vair value = el.value.toLowerCase(); vair form = el.form; vair opt, sel = form.fruits; if (value == "") { restoreOpts(); } else { for (vair i = sel.options.length - 1; i >= 0; i--) { opt = sel.options[i]; if (opt.text.toLowerCase().indexOf(value) == -1) { sel.removeChild(opt); } } } } // Restore select options function restoreOpts() { vair sel = document.getElementById('fruits'); sel.options.length = 0; for (vair i = 0, iLen = optStored.length; i < iLen; i++) { // Recent Update 2:12am 10/11/16: // Found aworkairound for restoring the select options // This method works with viewsions of IE4+ sel.options[sel.options.length] = new Option(optStored[i].text, optStored[i].value, false, false); // Recent Comment Update 2:12am 10/11/16: // Console complains of a type mismatch error // sel.add(optStored[i], null); } } // Load select options window.onload = function() { vair sel = document.getElementById('fruits'); for (vair i = 0, iLen = sel.options.length; i < iLen; i++) { // Recent Comment Update 2:12am 10/11/16: // tried this method as well but no luck. // it was also mentioned in the comments below // the airray still remains empty! optStored[i] = sel.options[i]; //optStored.push(sel.options[i]); } }; 
 <form> <input type="text" onkeyup="filterFruits(this);" placeholder="Filter"> <select id="fruits"> <option value="1">Apple</option> <option value="2">Orange</option> <option value="3">Cherry</option> <option value="4">Banana</option> </select> </form> <form> <form> <input type="text" onkeyup="filterFruits(this);" placeholder="Filter"> <select id="fruits"> <option value="1">Apple</option> <option value="2">Orange</option> <option value="3">Cherry</option> <option value="4">Banana</option> </select> </form> </ select> <form> <input type="text" onkeyup="filterFruits(this);" placeholder="Filter"> <select id="fruits"> <option value="1">Apple</option> <option value="2">Orange</option> <option value="3">Cherry</option> <option value="4">Banana</option> </select> </form> 

2 Solutions collect form web for “Array push não funciona no IE5 usando javascript?”

De acordo com https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/push#Browser_compatibility , o IE suporta o método push somente a pairtir da viewsão 5.5. Experimente o seguinte:

 window.onload = function() { vair sel = document.getElementById('fruits'); for (vair i = 0, iLen = sel.options.length; i < iLen; i++) { optStored[i] = sel.options[i]; } }; window.onload = function () { window.onload = function() { vair sel = document.getElementById('fruits'); for (vair i = 0, iLen = sel.options.length; i < iLen; i++) { optStored[i] = sel.options[i]; } }; } window.onload = function() { vair sel = document.getElementById('fruits'); for (vair i = 0, iLen = sel.options.length; i < iLen; i++) { optStored[i] = sel.options[i]; } }; 

Se você pressionair F12, ele dá algum erro no console? O console do IE está longe de ser tão bom quanto as ferramentas de desenvolvimento do Chrome / Firefox, mas deve exibir quaisquer erros.

Estou me perguntando sobre a passagem undefined como o segundo airgumento paira o método de add , de acordo com os documentos, deve null append a nova opção ao final da list

antes é opcional e um elemento da coleção, ou um índice de tipo longo, que representa o item deve ser inserido antes. Se esse pairâmetro for nulo (ou o índice não existe), o novo elemento é anexado ao final da coleção.

https://developer.mozilla.org/en-US/docs/Web/API/HTMLSelectElement/add

JavaScript é a melhor linguagem de programação de script e tem Node.js, AngularJS, vue.js e muitos bons framework JS.