Javascript - 为什么我的回电不起作用?我得到一个空数组而不是偶数数组
Javascript - Why isn't my call back working? I'm getting an empty array instead of array of even numbers
我正在尝试使用回调来过滤数组,其中 returns 只有偶数,
但是我得到 [] 空数组作为输出,我肯定想使用 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);
我已修复您的代码。
在查看结果代码之前,您必须阅读 this link。
A notice:
- Array filter is return a array as result.
- Array filter need a boolean return inside callback function. TRUE is keep value, and FALSE is remove value.
** 你的错误是把console.log写错了地方,没搞清楚array filter需要做什么。
//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
函数中 return 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);
我正在尝试使用回调来过滤数组,其中 returns 只有偶数, 但是我得到 [] 空数组作为输出,我肯定想使用 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);
我已修复您的代码。 在查看结果代码之前,您必须阅读 this link。
A notice:
- Array filter is return a array as result.
- Array filter need a boolean return inside callback function. TRUE is keep value, and FALSE is remove value.
** 你的错误是把console.log写错了地方,没搞清楚array filter需要做什么。
//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
函数中 return 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);