Например, эта строка кода:
if('object'==typeof(e))
в вашем примере кода выглядит следующим образом:
if('object'==typeof(3))
, что составляет
if('object'=='number')
, чтоникогда не совпадать.
Я бы также спросил, почему вы пытаетесь обернуть обычный массив в объект jQuery.Было бы лучше просто использовать метод, который работает с массивом.
В качестве глобальной функции вы можете сделать это следующим образом:
function removeArrayElement(array, itemToRemove) {
for (var i = 0; i < array.length; i++) {
if (array[i] === itemToRemove) {
array.splice(i, 1);
break;
}
}
}
var x = ['a','b','c','d','e'];
removeArrayElement(x, 'c');
В качестве глобального метода для объекта jQuery, вы можете сделать это так:
$.removeArrayElement = function(array, itemToRemove) {
for (var i = 0; i < array.length; i++) {
if (array[i] === itemToRemove) {
array.splice(i, 1);
break;
}
}
}
var x = ['a','b','c','d','e'];
$.removeArrayElement(x, 'c');
Как метод объекта Array, вы можете сделать это так:
Array.prototype.removeElement = function(itemToRemove) {
for (var i = 0; i < this.length; i++) {
if (this[i] === itemToRemove) {
this.splice(i, 1);
break;
}
}
}
var x = ['a','b','c','d','e'];
x.removeElement('c');
Рабочий пример метода-прототипа здесь: http://jsfiddle.net/jfriend00/tEXWH/