所有,我試圖將對象推入一個數組,並console.logging新數組,看看它看起來像,它看起來好像它不能正常工作。你能告訴我我做錯了嗎?將對象推入數組
<% var testObjArray = [] %>
<% var testObj = {} %>
<% currentUser.shares.forEach(function(share){ %>
<% if(!share || share.length < 1){ %>
<!--DO NOTHING-->
<% } else { %>
<% if(currentUser.id == share.yes_owner.id){ %>
<% testObj.price = share.event.yes_purchase_price %>
<% testObj.yes_or_no = "YES" %>
<% } else { %>
<% testObj.price = share.event.no_purchase_price %>
<% testObj.yes_or_no = "No" %>
<% }%>
<% testObj.quantity = 1 %>
<% testObj.eventId = share.event.id %>
<% testObj.name = share.event.name %>
<% testObjArray.push(testObj) %>
<% console.log(testObj) %>
<% }%>
<% }) %>
<% console.log("THIS IS THE NEW OBJARRAY: " + testObjArray) %>
我想最終的結果是,並期待它是..
[{ price: undefined,
yes_or_no: 'No',
quantity: 1,
eventId: 588a107edf666e0273614cca,
name: 'Will this work?' },
{...},
{...},
{ price: undefined,
yes_or_no: 'No',
quantity: 1,
eventId: 588a107edf666e0273614cca,
name: 'Will this work?' }
...]
然而,事實證明像...
「這是新的OBJARRAY:」 [對象的對象],[對象的對象],[對象的對象],[對象的對象]
你(也)在你的代碼中有一個致命的缺陷,那就是你將在每次迭代中覆蓋testObj,這意味着你的數組最終會以同一個對象(* last * 1)多次結束,而不是每個插槽中都有一個新的對象 - 您需要將'var testObj = {}'**放在forEach循環** –
之內,這是什麼<% %>永遠在線?你不能把<%放在第一行,%>放在最後? –
我想是這樣..我不知道。謝謝! – FDRH