【发布时间】:2015-04-08 12:08:10
【问题描述】:
所以我有一个对象数组,并希望将该数组导出到另一个数组以用于将来的函数,但问题是在 for(对于每个数组)上,第一次运行顺利,但在第一次运行之后它将相同的内容添加到过去的运行中,例如,如果我有 2 个具有不同内容的数组并执行 for 函数,第一个数组与第二个数组相同。
代码如下:
var mark = [];
//defult
var x_mark = { c_mark_desc_col:[], c_mark_col: null, c_mark_col_image: null,
c_mark_action: "click", c_mark_origin:[0,0], c_mark_col_valor: false,
c_mark_style: [null]
//,c_cluster: cluster[0]
};
for (var i = 0; i < extras.marks.length; i++) {
mark[i] = x_mark;
if(!(extras.marks[i].mark_desc_col === "" || typeof extras.marks[i].mark_desc_col=== "undefined" || extras.marks[i].mark_desc_col=== null))
mark[i].c_mark_desc_col = extras.marks[i].mark_desc_col;
if(!(extras.marks[i].mark_col === "" || typeof extras.marks[i].mark_col=== "undefined" || extras.marks[i].mark_col=== null))
mark[i].c_mark_col = extras.marks[i].mark_col;
if(!(extras.marks[i].mark_col_image === "" || typeof extras.marks[i].mark_col_image=== "undefined" || extras.marks[i].mark_col_image=== null))
mark[i].c_mark_col_image = extras.marks[i].mark_col_image;
if(!(extras.marks[i].mark_action === "" || typeof extras.marks[i].mark_action=== "undefined" || extras.marks[i].mark_action=== null))
mark[i].c_mark_action = extras.marks[i].mark_action;
if(!(extras.marks[i].mark_origin === "" || typeof extras.marks[i].mark_origin=== "undefined" || extras.marks[i].mark_origin=== null))
mark[i].c_mark_origin = extras.marks[i].mark_origin;
if(!(extras.marks[i].mark_col_valor === "" || typeof extras.marks[i].mark_col_valor=== "undefined" || extras.marks[i].mark_col_valor=== null))
mark[i].c_mark_col_valor = extras.marks[i].mark_col_valor;
if(!(extras.marks[i].mark_style === "" || typeof extras.marks[i].mark_style=== "undefined" || extras.marks[i].mark_style=== null))
mark[i].c_mark_style = extras.marks[i].mark_style;
}
alert("outside of 'for' posição 0 antes " + extras.marks[0].mark_col + " depois " + mark[0].c_mark_col);
alert("outside of 'for' posição 1 antes " +extras.marks[1].mark_col + " depois " + mark[1].c_mark_col);
}
【问题讨论】:
-
extras对象是什么样的?
标签: javascript arrays object for-loop