Рассмотрим этот массивСортировать трехмерный массив в JavaScript,
var LIST =[];
LIST['C']=[];
LIST['B']=[];
LIST['C']['cc']=[];
LIST['B']['bb']=[];
LIST['C']['cc'].push('cc0');
LIST['C']['cc'].push('cc1');
LIST['C']['cc'].push('cc2');
LIST['B']['bb'].push('bb0');
LIST['B']['bb'].push('bb1');
LIST['B']['bb'].push('bb2');
Я могу перебрать этот массив как
for(var i in LIST){
console.log(i)//C,B
var level1=LIST[i];
for(var j in level1){
console.log(j)//cc,bb
// etc...
}
}
Fine .. У меня есть несколько основных вопросов.
1.Как отсортировать массив на каждом уровне?
Один уровень может быть отсортирован по методу .sort (fn). Как я могу перейти на внутренние уровни?
2.Почему метод indexOf
не работает, чтобы найти элементы на первых двух уровнях?
Если это из-за параметра non string .. как я могу искать элементы массива в массиве, если элемент не является строкой?
3. Как работает for(var i in LIST)
? мне просто нужно общее представление о индексации и перекручивание через массив ..
спасибо ..
Для большей части вашего кода вы должны использовать литерал ''} 'объекта. Массивы ('[]') должны иметь инкрементные значения числовых ключей. – zzzzBov
@zzzzBov правильный - ваши объекты являются экземплярами массива, но вы не используете их правильно. – Pointy
Для сортировки массива используйте метод [Array.sort] (https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/sort "MDN Reference") с функцией обратного вызова. –