問題タブ [lodash]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
20375 参照

javascript - Lodash: 多数から単一のオブジェクトを構築する - プロパティのマージ/オーバーライド

注:この質問は、問題をうまく解決するのに役立つと確信しているので、lodashの下に提出しましたが、今は指を置いていません

さまざまなユーザーの役割とその権限を記述するオブジェクトがあります。

「このように」定義された10〜15のロールのようなものがあります(これはアプリケーションコードを反映していませんが、問題自体を反映しています):

接続されたユーザーには複数の役割があります。その例では である可能性があり、これから、すべてのユーザー ロールで定義されたすべての props の組み合わせとなる['role1', 'role2']単一のオブジェクトを構築する必要があります。permissions

これは基本的にホワイトリスト ベースであり、すべての「true」プロパティが false として定義されたものをオーバーライドする必要があります。したがって、期待される結果は次のようになります。


クレイジーなネストされたループに頼らずにそれに取り組む方法がよくわかりません

JSBin の開始点は次のとおりです: http://jsbin.com/usaQejOJ/1/edit?js,console

ご協力いただきありがとうございます!

0 投票する
2 に答える
309 参照

javascript - Grunt: 再帰テンプレートはどのように機能しますか?

私は Grunt が初めてで、再帰的なテンプレートに問題があります。具体的で最小限の例を次に示します。

Gruntfile.jsそれを a 、 run npm install grunt、そしてrun にポップしますgrunt print_build_dir

にいる場合、出力は次のようになると思い/Users/jvilk/Code/grunt-testます。

代わりに、出力は次のようになります。

何が起きてる?構成プロパティから、プロパティの正しい引数を受け取る必要があることはtest明らかです-つまり、解決されます-しかし、プロパティの値の前に追加のスラッシュを追加する理由について完全に混乱しています。path.resolvevendor_dirpath.resolve("/Users/jvilk/Code/grunt-test/dev", "vendor")build.root_dir

私と私の苦労の両方に、どんな助けや指導も大歓迎Gruntfileです。ありがとう!

編集:先制的な補遺として、この特定の例を実現するためにテンプレートを使用する必要がないことを認識しています-path.resolve直接使用できます。ただし、私の非例Gruntfileでは、ディレクトリ名の 1 つがpath.resolve動的に設定されるプロパティであり、テンプレートを使用する必要があります。

EDIT2: Andrew が指摘するように、テンプレートの拡張vendor_dirは次のように機能します。

私のtestプロパティは、次のように拡張されたため、機能しました。

彼らがこの設計上の決定を下した理由はわかりませんが、すべて<%=がなくなるまで文字列を繰り返し処理する関数にこれらすべてをラップすることで、必要なテンプレート セマンティクスを簡単にエミュレートできます。

0 投票する
3 に答える
8645 参照

javascript - カスタム関数を使用して lodash でチェーンを作成する

lodash のチェーンで独自のカスタム関数を取得する方法はありますか。たとえば、次のようにします。

0 投票する
1 に答える
4382 参照

javascript - lodash.template()でHTMLタグをエスケープ解除するにはどうすればよいですか?

lodash.template()を使用して html コードを作成したいのですが、期待どおりの結果が得られませんでした。

その結果、入力されたテキストaはエスケープされました。

どうすれば結果を取得できexpectedますか?

を設定できますがoptions.escape、このオプションの使い方がわかりません。

ありがとう!

0 投票する
2 に答える
371 参照

javascript - 配列内のフィールドの値を条件として配列から行を削除する _lodash 方法はありますか?

私は次の機能を使用しています:

関数は機能しますが、私のアプリケーションは _lodash ライブラリを使用し、すべての最新の IE8 以降のブラウザーを使用しているため、_lodash または他のブラウザー ネイティブ メソッドを使用して同じ機能を実現するより効率的な方法があるかどうか疑問に思っています。

0 投票する
0 に答える
374 参照

node.js - browserify と backbone の設定で undescore を参照する

browserifyを使用してアプリをノードモジュールとしてバンドルすることに頭を悩ませようとしていますが、次のシナリオに遭遇しました:

アンダースコア関数の参照が得られないようです。データを操作するには間違いなく必要になります。他のスケーラブルなオプションがあるため、ここではテンプレート化は使用例にすぎません。

同じメモで、lodash.underscore成功しないことも参照しようとしましたが、同じエラーが発生します。

ここで何かが欠けていると思います。何か助けはありますか?

0 投票する
2 に答える
1768 参照

javascript - グループ化された配列が空になる (ただし、Lodash の groupBy は機能します)

これがサンプルプランカーですhttp://embed.plnkr.co/bJFmT0WlRfqUgrCxZRT6

まず、特定のキーでコレクションをグループ化しています - 私の例のyobでは。

私には2つの選択肢があります -

  • 仕事をするカスタム関数を書くことができます(カスタムロジックを追加できるので、やりたいです)
  • lodash/underscore.js が提供する _.groupBy を使用できます

したがって、両方の方法を試すことにしました-lodashを使用して、コレクションをキーでグループ化し、出力が表示されます(plunkrを参照)

カスタムメソッドを使用するとstudentsByYear、この場合、どういうわけか配列が表示される前に空になります。配列を返す前にコンソールに出力を記録しましたが、配列には目的の出力があります..

私の質問は、なぜ私のグループ化方法が機能しないのですか? 角度で明らかな何かが欠けていますか? オブジェクトを返す前に、オブジェクトのディープ コピーを作成する必要があるということですか? はいの場合は説明してください。


脚本

0 投票する
4 に答える
64011 参照

javascript - _lodash で配列をテストして、配列要素に特定の値のフィールドがあるかどうかを確認できますか?

変数selectedSubTopicIdがあり、subTopic オブジェクトの配列があります: objectiveDetail.subTopics[]. 各subTopic オブジェクトにはフィールドがあります subTopicId

これを使用して、トピックの追加ボタンを有効または無効にしたいと思います。ng-disabled で lodash を使用してこの配列をテストし、配列subTopicのオブジェクト要素subTopicIdselectedSubTopicId.

ObjectiveDetail にあるデータのサンプルを次に示します。この場合、subTopics 配列には 1 つの要素しかありません。

thefourtheye によって提案された私の Angular Controller のコードは次のとおりです。

クリック機能が表示されていないボタンは次のようになります。

問題は、それがうまく機能しておらず、ボタンが無効になっていることを示していないことです。

0 投票する
10 に答える
336301 参照

javascript - lodashを使用して、リストから要素を削除するにはどうすればよいですか?

次のようなオブジェクトがあります。

私はlodash他のもののために自分のアプリケーションにインストールしました。オブジェクトからlodashエントリを削除する効率的な方法はありますか?{"subTopicId":2, "number":32}obj

または、これを行うJavaScriptの方法はありますか?