您的位置:首页 > 其它

循环中冲不掉外部定义的变量

2017-04-26 17:26 204 查看
不管用each, 还是for, 即便是闭包, 也有这个作用于的问题



就是人们常常问的, 为什么总是留在最后一个值?

此处是另一种情况.

如果把obj定义在外面, 内部将它push或者赋值到数组中去, 永远都只能存入最后一个obj.

var items = data[0].result.value;
var list = $(".js-account-order-list");
var order = list.find(".order");
var arr = [];
$page.currentList = [];
console.log("[account-order] userTransactionsorders got items ::::", items);
$.each(items, function (index) {
//list
var obj = {};
obj.detail = [];
obj.time = items[index].TRANS_DATE;
obj.id = items[index].TRANS_ID;
obj.status = items[index].ORDER_STATUS_STRING;
obj.link = items[index].TRACKING_LINK;
obj.ship_no = items[index].TRACKING_NUMBER;
obj.carrier = items[index].CARRIER;
order.eq(index).attr("data-id", obj.id);
order.eq(index).find(".js-date").text(obj.time);
order.eq(index).find(".js-order_no").text(obj.id);
order.eq(index).find(".status").text(obj.status);
order.eq(index).find(".activity a").attr("href", obj.link);
(obj.detail).push($page.getDetail(obj.id, index));
console.log("[account-order] obj for save::::", obj);
arr[index] = obj;
console.log("[account-order] arr saved::::", arr);
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐