私は素数の配列を返します。この機能を持っている:私は数字の配列内のすべての数字の素因数を取得しにそれをプッシュするループ内の関数の戻り値をプッシュすることができません
function getPrimeFactors(n) {
var factors = [];
for (i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) {
var count = 0;
while (n % i === 0) {
n = n/i;
count++;
}
for (j = 1; j <= count; j++) {
factors.push(i);
}
}
}
if (n !== 1) {
factors.push(n);
}
return factors;
}
var numbers = [2, 3, 4, 5];
var array = [];
を新しい配列(配列)
for(i = 0; i < numbers.length; i++) {
array.push(getPrimeFactors(numbers[i]));
}
私は間違っていますか?
正しい答えをアップヴォートして消えてしまった...正しい答えを削除したのは誰ですか? Lol – quirimmo
正しい答えを押し戻す人を待っているbtwループ内の変数iにvarを使う必要があります。さもなければ、私はグローバル変数として扱われます。もちろん、たとえjが一度だけ使用されていても、ここでの問題はi – quirimmo
ありがとうございました。変数を適切に宣言することが私の問題でした。 –