我已經從其中它們中的一些缺失,例如像列表中的項目,爲了這裏第三丟失:陣列訴諸
<ol>
<li data-id='0'>Apple</li>
<li data-id='1'>Banana</li>
<li data-id='3'>Tea</li>
<li data-id='4'>Biscuit</li>
</ol>
我也有一個陣列的長度相同的列表項目的數目其中包含的數據爲每個列表項(這裏也第3項缺失,「C」):
var arr = ['a','b','d','e'];
後,我重新映射到這個新的數組:
var ordered_array = jQuery('ol li').map(function() {
return arr[jQuery(this).data('id')];
}).get();
console.log(ordered_array);
我得到:
["a", "b", "e"]
爲什麼會失去一個項目? (「d」)
屬性的值可能應該是0,1,2,3而不是0,1,3,4。 –
是的,但是我刪除了第三個(在本例中),所以我試圖重新映射它,但是沒有再次改變id,這有可能嗎? – Toniq
@Toniq:而不是從'arr'中刪除*值,將其設置爲'undefined' /'null'; 'var arr = ['a','b',null,'d','e'];' – Matt