, поэтому я сталкивался с странной проблемой с объектами javascript. Может быть, это просто недостаток знаний (относительно новых для JS), или часть странного мира JS, но здесь идет:Объект доступа к объекту Javascript
Всякий раз, когда я пытаюсь проверить, если объект имеет некоторое свойство, то есть:
var someObject = {};
var someArray = ['cat', 'cat', 'cat', 'dog', 'dog', 'dog', 'cow', 'horse'];
someArray.some(function(animal, index) {
if (!someObject[animal]) {
someObject[animal] = index;
}
};
теперь, если я не ошибаюсь, ожидаемый результат этого должен быть следующим:
someObject = {
'cat': 0,
'dog': 3,
'cow': 6,
'horse': 7
}
однако то, что я получаю:
someObject = {
'cat': 1,
'dog': 3,
'cow': 6,
'horse': 7
}
Ват.
Кроме того, проблема решена, когда я перейти на использование следующего:
someArray.some(function(animal, index) {
if (!someObject.hasOwnProperty(animal)) {
someObject[animal] = index;
}
});
WAT. Не то, чтобы это было проблемой, так как я понял это решение, мне просто интересно узнать, не работает ли функция объекта [свойство]? Благодаря!
Что вы подразумеваете под WAT? –
@AmitJoki Возможно, это: [wat] (https://www.destroyallsoftware.com/talks/wat) –
@JamesThorpe благодарит, что это должно быть, хотя будет выглядеть позже, никогда не собираюсь делать это с 32kbps: p –