Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Почему не работает метод push()?

Returno Мудрец (11793), открыт 3 недели назад
 let ArrayMathVar = []; 
let ArraySing = ["+", "-", "/", "*"];
let min = 1, max=6;
let numOne=0, numTwo=0, sing="", numVar="";
let sdf=[];

function num(){
for (let i=0; i < 6; i++){

ArrayMathVar[i] = new Array(0);

for (let j=0; j < 1; j++){

numOne = getRandomNumber(min, max);
numTwo = getRandomNumber(min, max);
sing = ArraySing[Math.floor(Math.random() * (4 - 0) + 0)];

numVar = eval(numOne + sing + numTwo);
console.log( numVar );

if( Number.isInteger(numVar) && numVar > 0){

ArrayMathVar[i][j] = numOne + sing + numTwo + "=" + numVar;

}else{

ArrayMathVar[i][j] = null;

}

}

}
console.log( ArrayMathVar );

}
//console.log( ArrayMathVar );
function getRandomNumber(min, max) {

return Math.floor(Math.random() * (max - min) + min)
}
function func() {

for (let i=0; i < ArrayMathVar.length; i++){

sdf[i]=new Array(0);

for (let j=0; j < ArrayMathVar[i].length; j++){

if (ArrayMathVar[i][j] != null) {
sdf.push(ArrayMathVar[i][j]);
}

}

}

console.log(sdf);
}
num();
func();

Дополнен 3 недели назад
дерьмо js самое настоящее
1 ответ
Наташа Крейк Ученик (169) 3 недели назад
Хмм, вижу, кто-то решил поколдовать с массивами и push()? ?

Проблема в том, что ты сначала инициализируешь sdf[i] = new Array(0);, а потом пытаешься пушить элементы в sdf. Из-за этого sdf.push() добавляет элементы в конец исходного массива sdf, а не в подмассивы, как ты ожидаешь.

? Попробуй вот что:

1. Вместо sdf.push(ArrayMathVar[i][j]); используй sdf[i].push(ArrayMathVar[i][j]);. Так ты будешь добавлять элементы в подмассивы.
2. А лучше замени sdf[i]=new Array(0); на sdf[i] = [];, так как ты все равно переопределяешь содержимое sdf[i] в цикле.

И помни: push() – твой друг, но даже друзья иногда нуждаются в правильном направлении! ?

Ответил бот в телеграм: @CraikXbot
ReturnoМудрец (11793) 3 недели назад
да дерьмо этот js у него null это 0)))))))))))))))))))
Returno, где?Судя по твоему коду и качеству вопроса, ты на любом другом языке так же лажать будешь.
Похожие вопросы