亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

第 4 行的類型錯誤:回調不是函數 JavaScript 回調

第 4 行的類型錯誤:回調不是函數 JavaScript 回調

蠱毒傳說 2022-10-27 16:48:55
我創建了一個 forEach 函數,它接受一個數組和一個回調函數,并在數組的每個元素上運行回調。forEach 函數不返回任何內容。還使用了一個單獨的輔助函數映射。function forEach(array, callback) {  for (let i = 0; i < array.length; i++) {    callback(array[i]);  }}function map(array, callback) {  let newArr = []  forEach(array, newArr.push(callback));  return newArr;}console.log(typeof forEach); // should log: 'function'forEach(['a', 'b', 'c'], i => console.log(i)); // should log: 'a', 'b', 'c'console.log(typeof map); // should log: 'function'console.log(map([3, 4, 5], n => n - 2)); // should log: [1, 2, 3]我收到以下錯誤:第 4 行的類型錯誤:回調不是一個函數 我非常接近解決問題,但似乎無法弄清楚如何使用 forEach 函數調用在第 9 行。上面的所有測試用例都通過了,除了最后一個。
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

將您的功能更改map為:


function map(array, callback) {

   let newArr = []

   forEach(array, (value) => newArr.push(callback(value)));

   return newArr;

}


查看完整回答
反對 回復 2022-10-27
?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

問題出在forEach(array, newArr.push(callback));. 嘗試將第二個參數 , 包裝newArr.push(callback)箭頭函數表達式中。結果行將是forEach(array, () => newArr.push(callback));.

這是一個工作示例。查看控制臺日志。

祝你好運!


查看完整回答
反對 回復 2022-10-27
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您只需要編寫return array.map(callback);它就可以了。

由于Array.prototype.map() map接受callbackasparameter并且您已經具有callbackas 功能parameter。你需要做的就是return array.map(callback);。

同樣,您可以使用Array.prototype.forEach()。但forEach不返回任何東西,所以你不能寫return array.forEach(callback);。取而代之的是,您需要將其用作array.forEach(callback);.

function forEach(array, callback) {

  array.forEach(callback);

}


function map(array, callback) {

  return array.map(callback);

}


console.log(typeof forEach); // should log: 'function'

forEach(['a', 'b', 'c'], i => console.log(i)); // should log: 'a', 'b', 'c'

console.log(typeof map); // should log: 'function'

console.log(map([3, 4, 5], n => n - 2)); // should log: [1, 2, 3]


查看完整回答
反對 回復 2022-10-27
  • 3 回答
  • 0 關注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號