Eğer bir sayı, ikiye bölündüğünde, 0'a eşit olmayan bir geri sayıma sahipse, bu sayı tek sayı olmalıdır. Sadece mantıksal değerleri korumak ve hatta onlardan kurtulmak için if deyiminde bu mantığı kullanmaya çalışıyorum. Bunu nasıl yanlış yaptığımı bilmiyorum, ama myArray değerleri bile tek tek de döndürüyor. Herhangi bir fikir?Kalan işleçle tek ve çift sayıların sıralanması Javascript
function sumFibs(num) {
var myArray = [1,1];
// Create fibonacci sequence
// Stop creating fibonacci numbers at num
// Push odd numbers to oddNums array
for (var i = 0; i < myArray.length; i++) {
if (myArray[i+1] + myArray[i] <= num && myArray[i+1] + myArray[i] % 2 !== 0) {
myArray.push(myArray[i+1] + myArray[i]);
}
} // End loop.
console.log(myArray);
// Summation of oddNums array.
return myArray.reduce(function(a,b) {
return a + b;
});
} // End function.
sumFibs(1000);
Neden sadece ['filter'] kullanılmıyor (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)? – Xufox
Ayrıca, büyük olasılıkla parantezleri 'myArray [i + 1] + myArray [i] 'etrafında kullanmalısınız, şöyle ki:' (myArray [i + 1] + myArray [i])% 2! == 0'. – Xufox
Operatör önceliği –