簡體   English   中英

Javascript中的高階函數

[英]Higher-order functions in Javascripts

我正在嘗試使用高階函數來填充3x3 2d數組。 具體來說,我需要使用array.map函數來完成此操作。 到目前為止,我的代碼是:

    function Matrix(m,n){
      var mat = Array.apply(null, new Array(m)).map(
       Array.prototype.valueOf,
       new Array(n)
     );
     return mat;
    }
    restaurants = Matrix(3,3);
    restaurants.map(
      function(row,i){
        return row.map(function(cell,j){
           return new BorderedCell(ToString(ancestry[i][j]));
           });
      });

當我嘗試顯示餐廳時沒有輸出。 似乎代碼停在了

    function(row,i){}

而且不會走得更遠。

我怎樣才能解決這個問題? 任何幫助將不勝感激。

編輯:我試圖用對象BorderedCell填充一個2D數組。 我的問題是我不知道該如何使用雙重映射來遍歷整個矩陣。

如果restaurants預期結果是[[0,1,2],[0,1,2],[0,1,2]] ,則可以使用Array.from()Array.prototype.keys()

 function arr(len) { return Array.from(Array(len).keys()) } function Matrix(m, n) { return arr(m).map(arr.bind(null, n)); } var restaurants = Matrix(3, 3); console.log(restaurants); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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