Возможно передать объект НЕ по ссылке.
entite=new Object(); data=new Array(); var l=tabs.length; for (var q=0;q<l;q++){ entite.info=$("#"+q+"coord").text(); entite.typeOfArea=($("a[id="+q+"headerlink]").attr('class')).slice(11); entite.shownumber=$("#"+q+"shownumber").prop("checked"); entite.showchangearea=$("#"+q+"showchangearea").prop('checked'); data.push(entite); } data [Object { info="129,17,158,13", typeOfArea="round", ещё...}, Object { info="129,17,158,13", typeOfArea="round", ещё...}] 0 Object { info="129,17,158,13", typeOfArea="round", ещё...} info "129,17,158,13" showchangearea true shownumber true typeOfArea "round" 1 Object { info="129,17,158,13", typeOfArea="round", ещё...} info "129,17,158,13" showchangearea true shownumber true typeOfArea "round" Прощу прошения за беспорядочное предоставление результатов работы скрипта просто скопировал их FireBuga Вообщем проблема как думаю и так видна, Есть цикл, он формирует массив объектов, но так как объекты в Javascript передаются по ссылке, имеем на выходе массив с последними результатами создания объекта. Как то можно этого избежать? Или лучше все это запихать в обычный про нумерованный массив. |
Цитата:
|
можно клонировать всё это. через for in. в массиве тоже через цикл.
|
В jQuery можно клонировать объекты следующим образорм
var cloneObj = function( obj ){ return $.extend(true, {}, obj); } |
Часовой пояс GMT +3, время: 16:31. |