Как мне перебрать разреженный массив в порядке индекса?
У меня есть разреженный массив, содержимое которого, как гарантируют, не будет вставлено в порядке индекса, но должно быть повторено в порядке индекса. Для перебора разреженного массива я понимаю, что вам нужно использовать оператор for..in.
Однако согласноЭта статья:
Нет гарантии, что for ... in вернет индексы в каком-либо определенном порядке.
Новопросы stackoverflow, как это предположить, что, хотя порядок свойств объекта не гарантирован, порядки массивов:
порядок свойств в объектах не гарантируется в JavaScript, вам нужно использовать массив.
I проверил это в последних версиях Chrome, Firefox и IE.
<ol id="items"></ol>
var list = [];
function addItem(index) {
list[index] = { idx : index };
}
var insertOrder = [ 8, 1, 9, 2, 10, 3, 11, 4, 12, 5, 13, 6, 14, 7, 15 ];
for ( var i = 0; i < 15; i++ ) {
addItem(insertOrder[i]);
}
for(var item in list) {
$("#items").append("<li>" + list[item].idx + "</li>");
}
Кажется, что все соблюдают порядок индексов, так что я могу верить, что так будет всегда? В противном случае, как мне лучше получить их в порядке индекса?