不管用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); });