Я кодировал JavaScript следующим образом:
var Foo = {
something: function() {
},
someValue: 0,
someArray: [],
someObject: {},
anotherFunction: function (id) {
this.someArray.push(id); // works - adds value to array someArray
},
removeSomething: function(id) {
this.someArray.without(id); // doesn't work - value remains in array someArray
}
};
Если в одной из этих функций я помещаю значение в someArray (определяется как []), оно появляется в массиве, но я не могу удалить его с помощью Array.without (). При проверке с помощью typeof я обнаружил, что это объект, хотя он, очевидно, является массивом. Есть ли какое-то фундаментальное понимание, о котором я не знаю, я оставлю это на ваше усмотрение.
Мне бы очень хотелось вытолкнуть (без) элементы из этого массива, пока он обрабатывается как массив. Почему это рассматривается как объект, а не как массив?