Как я могу добавить многомерные массивы в javascript, как это

#javascript #arrays

Вопрос:

Я работаю над мини-проектом javascript, в котором пользователи должны вводить номер.

Это число является конечной точкой координат. Последняя координата, которую я сохраню в своем массиве, будет в формате [число, число]

Например, это число равно 3.

Я должен хранить это в массиве.

[1,1], [1,2], [1,3], [2,1], [2,2], [2,3], [3,1], [3,2], [3,3]

Например, если число равно 4, массив должен выглядеть следующим образом: [1,1], [1,2], [1,3], [1,4], [2,1], [2,2], [2,3], [2,4] [3,1], [3,2], [3,3], [3,4], [4,1], [4,2], [4,3], [4,4]

Надеюсь, вы понимаете, что мне нужно. Какая-нибудь помощь?

Комментарии:

1. Пожалуйста, предоставьте достаточно кода, чтобы другие могли лучше понять или воспроизвести проблему.

Ответ №1:

Вам просто нужно два вложенных цикла, чтобы это сработало. В приведенном ниже коде i переменная представляет первое число в элементе miniarray, в то время j как представляет второе. Для каждого значения i , j будет выполняться n время и приведет к нужному массиву следующим образом:

 let n = 3;
let arr = [];

for(let i=1; i<=n; i  ){
    for(let j=1; j<=n; j  ){
    arr.push([i, j]);
  }
}

console.log(arr); 

Ответ №2:

Пожалуйста, используйте следующий фрагмент кода javascript.

 num = 5
arr=[]
for(i=1;i<=num;i  ){
  for(j=1;j<=num;j  ){
    temparr=[i,j]
    arr.push(temparr)
  } 
}
console.log(arr) 

Комментарии:

1. Спасибо! Это работает

2. Убедитесь, что вы правильно объявили все свои переменные с let помощью или const !

Ответ №3:

надеюсь, этот код поможет вам

 const n = 5;
var array = Array(n).fill(0).map((o,index)=>o index 1);
array.map(o=>arr1.flatMap(e=>[[o,e]]));
 

Комментарии:

1. Вы должны создать рабочий фрагмент с помощью инструмента [<>] в окне редактирования и попытаться объяснить, что делает ваш код, потому что я полагаю, что если ОП не понимает циклов, они, безусловно, не поймут такие понятия, как <> map или flatMap . Добавьте несколько ссылок на документацию MDN. Сделайте это хорошим ответом, а не просто сбивающим с толку сбросом кода.

Ответ №4:

Использование вложенных циклов … Попробуй вот это

 
function generateArray(int) {
  let array = [];
  let initial = 1;
  let numbers = [];
  while (initial <= int) {
    numbers.push(initial);
    initial  ;
  }
  let finalArr = [];
  numbers.forEach(number => {
    let i = 1;
    while (i <= numbers.length) {
      array.push([number, i]);
      i  ;
    }
  });
  return array;
}

console.log(generateArray(4))