#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))