簡體   English   中英

Javascript - 為什么我的回電不起作用? 我得到一個空數組而不是偶數數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM