[英]I'm getting an object even though I'm returning an array from my javascript function
[英]Javascript - Why isn't my call back working? I'm getting an empty array instead of array of even numbers
我正在嘗試使用回調過濾數組,它只返回偶數,但我得到 [] 空數組作為輸出,我絕對想使用 isEvenOrOdd
enter code here
//Defining an array
let numbers = [1,2,3,4,5,6,7,8,9];
//Define callback function isEvenOrOdd; Making use of this function is mandatory
function isEvenOrOdd(x){
// let x;
(x) => (x % 2 === 0)
console.log(x % 2);
}
//Call callback function in main function filter
function filterNumbers(array, callback){
return array.filter(callback);
// console.log(callback)
}
//Displays only even numbers
filterNumbers(numbers, isEvenOrOdd);
let numbers = [1,2,3,4,5,6,7,8,9];
function isEvenOrOdd(x){
console.log(x % 2);
return (x % 2) === 0
}
function filterNumbers(array, callback){
return array.filter(callback);
}
filterNumbers(numbers, isEvenOrOdd);
我已經修復了你的代碼。 在查看結果代碼之前,您必須閱讀此鏈接。
一個通知:
- 數組過濾器返回一個數組作為結果。
- 數組過濾器需要在回調函數中返回布爾值。 TRUE 是保留值,FALSE 是刪除值。
** 你的錯誤是console.log寫錯地方了,沒看清楚數組過濾器需要做什么。
//Defining an array
let numbers = [1,2,3,4,5,6,7,8,9];
//Define callback function isEvenOrOdd; Making use of this function is mandatory
function isEvenOrOdd(x){
// let x;
return x % 2 === 0;
}
//Call callback function in main function filter
function filterNumbers(array, callback){
return array.filter(callback);
// console.log(callback)
}
//Displays only even numbers
var r = filterNumbers(numbers, isEvenOrOdd);
console.log(r);
您必須從isEvenOrOdd
函數返回 true/false 才能獲得結果
let numbers = [1,2,3,4,5,6,7,8,9]; function isEvenOrOdd(x){ return (x % 2 === 0) } //Call callback function in main function filter function filterNumbers(array, callback){ return array.filter(callback); } //Displays only even numbers const result = filterNumbers(numbers, isEvenOrOdd); console.log(result)
let numbers = [1,2,3,4,5,6,7,8,9];
let evenNumbers = [];
function isEvenOrOdd(x){
return x % 2 == 0;
}
function filterNumbers(array, callback){
return array.filter(callback);
}
evenNumbers = filterNumbers(numbers, isEvenOrOdd);
console.log(evenNumbers);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.