検索

ホームページ  >  に質問  >  本文

javascript - マップと forEach のネストされた走査、配列を返す方法は?

アプリケーションシナリオ

テーブルのフィルタリングには複数のフィルタリング条件が含まれる場合があります。this.filter にはすべてのフィルタリング条件の v-model ステータスのオブジェクトが格納されます。this.tableData はすべてのフィルタリング条件の配列です。バックエンドから取得した元のテーブル データ、this.filteredTableData は、フィルター処理されたテーブル データの配列です。

###コード### リーリー ###質問###

このように書くと、2 番目の

console.log(this.filteredTableData)

は、すべて

未定義

である配列を取得します。このエラーは、forEach が return を使用してループを抜け出すことができないために発生するはずです。 だから知りたいのです:
マップを使用するときにこの関数を実装するにはどうすればよいですか?マップ内で変数を使用しないのが最善です (使用できますが、パフォーマンスが心配なだけです)。

曾经蜡笔没有小新曾经蜡笔没有小新2737日前1018

全員に返信(7)返信します

  • 漂亮男人

    漂亮男人2017-05-19 10:23:54

    [].filter を直接使用します...

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:23:54

    質問は少し理解するのが難しいです
    マップを配列に変換したい場合は
    [...map]」と入力するだけです

    返事
    0
  • PHP中文网

    PHP中文网2017-05-19 10:23:54

    フィルターの方が適切です。

    また、変数を追加するとパフォーマンスに影響するという考えはどこから来たのでしょうか。パフォーマンス上の問題が発生する前に、パフォーマンス上の問題があるだろうという推測に頼らないでください。

    代わりに通常の for ループを使用するか、判断するには forEach の外側で bool 値を定義する必要があります。

    返事
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:23:54

    以前、map と forEach を使用することで発生した問題に遭遇したことがありますが、後で for...in と for...of を合理的に使用することで問題を解決できました。問題を解決するために必ずしも map と forEach を使用する必要はありません。

    返事
    0
  • 習慣沉默

    習慣沉默2017-05-19 10:23:54

    これを forEach で使用しないでください

    リーリー

    返事
    0
  • 巴扎黑

    巴扎黑2017-05-19 10:23:54

    配列がundefinedで埋められている質問に答えましょう。

    map関数にreturnが無い場合は当然戻り値はありません 表示されない戻り値は当然未定義です。

    これはトラバースが返されない結果に相当し、無駄な労力です。

    mapのコールバック関数はこう書けばいいんじゃないでしょうか?

    リーリー

    答えなかったふりをして、この質問をもう一度読んでください。 return Object.keys(this.filter) は意味がありません。

    次のような中間変数を使用する必要があります:

    リーリー

    返事
    0
  • 漂亮男人

    漂亮男人2017-05-19 10:23:54

    そう言いたいのか分かりませんが。


    リーリー

    返事
    0
  • キャンセル返事