#javascript #объекты
Извините за наверное глупый вопрос. Не буду вставлять весь код. Вопрос небольшой
по фрагменту этому, а то я немного засомневался. greed это массив с объектами и некоторые
из них могут быть с абсолютно одинаковыми свойствами и их значениями. При этом условии
все ли они попадут в acted? Будет ли интерпретатор воспринимать их как разные объекты?
World.prototype.turn = function() {
var acted = [];
this.grid.forEach(function(critter, vector) {
if (critter.act && acted.indexOf(critter) == -1) {
acted.push(critter);
this.letAct(critter, vector);
}
}, this);
};
Ответы
Ответ 1
Конечно это будут разные объекты. var src = [ {d: 5}, {d: 5}, {d: 5} ] var dst = []; for (i = 0; i < src.length; i++) { if (dst.indexOf(src[i]) == -1) dst.push(src[i]); }; console.log(dst); При сравнении объектов сравниваются их "указатели". Если нужно сравнивать свойства, то нужно писать свой компаратор
Комментариев нет:
Отправить комментарий