Показать сообщение отдельно
Старый 25.02.2020, 12:33   #178
Letos
Консультант
 
Регистрация: 28.06.2017
Сообщений: 555
Сказал(а) спасибо: 127
Поблагодарили 1,033 раз(а) в 367 сообщениях
Вес репутации: 345
Letos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордитсяLetos за этого человека можно гордится
По умолчанию

Цитата:
Сообщение от Ovsyanicov Посмотреть сообщение
Вот так получите необходимый результат:

PHP код:
FA=[];
pat=[];
for (var 
0j3j++){
    for (var 
03i++){
        
pat[i] = [];
        
pat[i] = i+j;
    }
console.log(pat);
    
FA[j]=pat;
}
console.log(FA); 
Проблема так все равно не решится. В один и тот же массив pat трижды переписываются значения в индексах с 0 по 2 (в цикле по i). А в массив FA каждый раз записывается ссылка на массив pat (в цикле по j). Если визуализировать, то примерно так это выглядит:

Порядок формирования массивов

  • i == 0;
    pat = [0, 1, 2];
    FA = [
    pat // [0, 1, 2]
    ]
  • i == 1;
    pat = [1, 2, 3];
    FA = [
    pat, // [1, 2, 3]
    pat // [1, 2, 3]
    ]
  • i == 2;
    pat = [2, 3, 4];
    FA = [
    pat, // [2, 3, 4]
    pat, // [2, 3, 4]
    pat // [2, 3, 4]
    ]
[свернуть]
Letos вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
Ovsyanicov (25.02.2020)