我們有對象陣列重新映射
var items = [
{ id: 1, order_assigned: 2},
{ id: 2, order_assigned: 4},
{ id: 3, order_assigned: 1},
{ id: 4, order_assigned: 5},
{ id: 5, order_assigned: 3}
];
每個具有ID和一些訂單編號的數組。 例如,用戶在ID 2修改訂單號爲0陣列會是這個樣子的:
var items = [
{ id: 1, order_assigned: 2},
{ id: 2, order_assigned: 0},
{ id: 3, order_assigned: 1},
{ id: 4, order_assigned: 5},
{ id: 5, order_assigned: 3}
];
現在,我們需要以填補order_assigned爲了差距重新索引order_assigned。 即陣列應該是這樣的
var items = [
{ id: 1, order_assigned: 2},
{ id: 2, order_assigned: 0},
{ id: 3, order_assigned: 1},
{ id: 4, order_assigned: 4},
{ id: 5, order_assigned: 3}
];
ID爲4的變化項目順序分配的號碼從5到4,COS存在與4順序分配數沒有項目。
order_assigned中的編號應該從1到最後建立的等級。 1,2,3,4。如果有人輸入1,2,5,7以進行order_assigned,則必須將其轉換爲1,2,3,4。 換句話說,如果訂單號碼存在差距,則必須重新計算它之後的所有數字。不需要訴諸物品訂單本身。
完全卡住瞭如何做到這一點正確的方式。請幫忙!
也許我錯過了一些東西,但你用什麼邏輯來確定新的'order_assigned'? – larz
「order_assigned order」中的空白是什麼意思?期望的輸出如何排序(它仍然是由id上升)? – chazsolo
你有重新編號的規則嗎? –