#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); При сравнении объектов сравниваются их "указатели". Если нужно сравнивать свойства, то нужно писать свой компаратор
Комментариев нет:
Отправить комментарий