Witam, próbuje utworzyć dwuwymiarową tablicę, natomiast mam taki problem.
Że indexy w tablicy są/muszą być po kolei, 1,2,3,4,5,6 etc.
Natomiast strukturę którą przewiduje, będzie wyglądać
  1. [7] => array(3,1,10),
  2. [8] => array(3,1,10),
  3. [100] => array(3,1,10),
  4. [9] => array(3,1,10),
  5. )
etc.
Natomiast dziwnie mi tworzy tą tablicę.
Gdy searchIndex równa się np. 5
myArray[searchIndex] = $( this ).attr('id');
To tworzy mi 5 rekordów, 4 pierwsze są puste, i 5 jest nadpisany.
Mój kod
  1. var myArray = [];
  2. var searchIndex = '';
  3. $("#searchList").find('li').each(function( index ) {
  4. id = $( this ).attr('id');
  5. if(id.match(/search(:?\d+|\w+)/)){
  6. searchIndex = parseInt(id.match(/search(\d+|\w+)/)[1]);
  7.  
  8. myArray[searchIndex] = $( this ).attr('id');
  9.  
  10. }
  11. else if(id.match(/group\d+/)){//ten else if też nie działa, dokładniej przypisanie do tablicy zwraca mi error, Uncaught TypeError: undefined is not a function
  12. // alert(searchIndex);
  13. myArray[searchIndex].push(id);
  14. }
  15. });
  16. alert(myArray.join('\n'));



edit.
ehh jak zwykle po napisaniu tematu znalazłem odpowiedź.
var array = {}; robi asocjacyjną tablicę, która to wspiera [] i new Array(), będzie powodować tą przypadłość.