Моя 2D-функция построения таблицы в js не будет работать правильно - PullRequest
1 голос
/ 25 февраля 2020

Я строю тетрис. Я выяснил, как построить таблицу HTML из двумерного массива. Тем не менее, нормальный тетрис играется в сетке десять на двадцать. У меня проблемы с созданием внутренних массивов. Я посмотрел на этот вопрос , но все ответы не имеют смысла для меня, основаны на jQuery, или я не могу сказать разницу. Код не приводит к ошибке. Он выводит пустой массив, когда он должен вывести массив длины три. (Это для проверки кода.) Может кто-нибудь сказать мне, что я делаю не так?

function array(x, text) {
    var toBuild = [];
    for (var i; i < x-1; i++) {toBuild.push(text); }
    console.log(toBuild);
    return toBuild;
}
console.log(array(3, "hello"));

1 Ответ

2 голосов
/ 25 февраля 2020

Причина в том, что вы не инициализируете i в вашем для l oop. Вы должны присвоить его 0.

Если вы хотите, чтобы ваш код выводил массив o длиной 10, тогда вы должны передать 10 своей функции, а x-1 не использовать. Вы должны использовать x

function array(x, text) {
    var toBuild = [];
    for (var i = 0; i < x; i++) {toBuild.push(text); }
    console.log(toBuild);
    return toBuild;
}
console.log(array(10, "hello"));

Более изощренный способ сделать то же самое - использовать fill

const array = (x, text) => Array(x).fill(text)
console.log(array(10, "hello"));
...