問題タブ [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.
javascript - Lodash: 多数から単一のオブジェクトを構築する - プロパティのマージ/オーバーライド
注:この質問は、問題をうまく解決するのに役立つと確信しているので、lodashの下に提出しましたが、今は指を置いていません
さまざまなユーザーの役割とその権限を記述するオブジェクトがあります。
「このように」定義された10〜15のロールのようなものがあります(これはアプリケーションコードを反映していませんが、問題自体を反映しています):
接続されたユーザーには複数の役割があります。その例では である可能性があり、これから、すべてのユーザー ロールで定義されたすべての props の組み合わせとなる['role1', 'role2']
単一のオブジェクトを構築する必要があります。permissions
これは基本的にホワイトリスト ベースであり、すべての「true」プロパティが false として定義されたものをオーバーライドする必要があります。したがって、期待される結果は次のようになります。
クレイジーなネストされたループに頼らずにそれに取り組む方法がよくわかりません
JSBin の開始点は次のとおりです: http://jsbin.com/usaQejOJ/1/edit?js,console
ご協力いただきありがとうございます!
javascript - Grunt: 再帰テンプレートはどのように機能しますか?
私は Grunt が初めてで、再帰的なテンプレートに問題があります。具体的で最小限の例を次に示します。
Gruntfile.js
それを a 、 run npm install grunt
、そしてrun にポップしますgrunt print_build_dir
。
にいる場合、出力は次のようになると思い/Users/jvilk/Code/grunt-test
ます。
代わりに、出力は次のようになります。
何が起きてる?構成プロパティから、プロパティの正しい引数を受け取る必要があることはtest
明らかです-つまり、解決されます-しかし、プロパティの値の前に追加のスラッシュを追加する理由について完全に混乱しています。path.resolve
vendor_dir
path.resolve("/Users/jvilk/Code/grunt-test/dev", "vendor")
build.root_dir
私と私の苦労の両方に、どんな助けや指導も大歓迎Gruntfile
です。ありがとう!
編集:先制的な補遺として、この特定の例を実現するためにテンプレートを使用する必要がないことを認識しています-path.resolve
直接使用できます。ただし、私の非例Gruntfile
では、ディレクトリ名の 1 つがpath.resolve
動的に設定されるプロパティであり、テンプレートを使用する必要があります。
EDIT2: Andrew が指摘するように、テンプレートの拡張vendor_dir
は次のように機能します。
私のtest
プロパティは、次のように拡張されたため、機能しました。
彼らがこの設計上の決定を下した理由はわかりませんが、すべて<%=
がなくなるまで文字列を繰り返し処理する関数にこれらすべてをラップすることで、必要なテンプレート セマンティクスを簡単にエミュレートできます。
javascript - カスタム関数を使用して lodash でチェーンを作成する
lodash のチェーンで独自のカスタム関数を取得する方法はありますか。たとえば、次のようにします。
javascript - lodash.template()でHTMLタグをエスケープ解除するにはどうすればよいですか?
lodash.template()を使用して html コードを作成したいのですが、期待どおりの結果が得られませんでした。
その結果、入力されたテキストa
はエスケープされました。
どうすれば結果を取得できexpected
ますか?
を設定できますがoptions.escape
、このオプションの使い方がわかりません。
ありがとう!
javascript - 配列内のフィールドの値を条件として配列から行を削除する _lodash 方法はありますか?
私は次の機能を使用しています:
関数は機能しますが、私のアプリケーションは _lodash ライブラリを使用し、すべての最新の IE8 以降のブラウザーを使用しているため、_lodash または他のブラウザー ネイティブ メソッドを使用して同じ機能を実現するより効率的な方法があるかどうか疑問に思っています。
node.js - browserify と backbone の設定で undescore を参照する
browserifyを使用してアプリをノードモジュールとしてバンドルすることに頭を悩ませようとしていますが、次のシナリオに遭遇しました:
アンダースコア関数の参照が得られないようです。データを操作するには間違いなく必要になります。他のスケーラブルなオプションがあるため、ここではテンプレート化は使用例にすぎません。
同じメモで、lodash.underscore
成功しないことも参照しようとしましたが、同じエラーが発生します。
ここで何かが欠けていると思います。何か助けはありますか?
javascript - グループ化された配列が空になる (ただし、Lodash の groupBy は機能します)
これがサンプルプランカーですhttp://embed.plnkr.co/bJFmT0WlRfqUgrCxZRT6
まず、特定のキーでコレクションをグループ化しています - 私の例のyobでは。
私には2つの選択肢があります -
- 仕事をするカスタム関数を書くことができます(カスタムロジックを追加できるので、やりたいです)
- lodash/underscore.js が提供する _.groupBy を使用できます
したがって、両方の方法を試すことにしました-lodashを使用して、コレクションをキーでグループ化し、出力が表示されます(plunkrを参照)
カスタムメソッドを使用するとstudentsByYear
、この場合、どういうわけか配列が表示される前に空になります。配列を返す前にコンソールに出力を記録しましたが、配列には目的の出力があります..
私の質問は、なぜ私のグループ化方法が機能しないのですか? 角度で明らかな何かが欠けていますか? オブジェクトを返す前に、オブジェクトのディープ コピーを作成する必要があるということですか? はいの場合は説明してください。
脚本
javascript - _lodash で配列をテストして、配列要素に特定の値のフィールドがあるかどうかを確認できますか?
変数selectedSubTopicId
があり、subTopic オブジェクトの配列があります: objectiveDetail.subTopics[]
. 各subTopic
オブジェクトにはフィールドがあります subTopicId
これを使用して、トピックの追加ボタンを有効または無効にしたいと思います。ng-disabled で lodash を使用してこの配列をテストし、配列subTopic
のオブジェクト要素subTopicId
にselectedSubTopicId
.
ObjectiveDetail にあるデータのサンプルを次に示します。この場合、subTopics 配列には 1 つの要素しかありません。
thefourtheye によって提案された私の Angular Controller のコードは次のとおりです。
クリック機能が表示されていないボタンは次のようになります。
問題は、それがうまく機能しておらず、ボタンが無効になっていることを示していないことです。
javascript - lodashを使用して、リストから要素を削除するにはどうすればよいですか?
次のようなオブジェクトがあります。
私はlodash
他のもののために自分のアプリケーションにインストールしました。オブジェクトからlodash
エントリを削除する効率的な方法はありますか?{"subTopicId":2, "number":32}
obj
または、これを行うJavaScriptの方法はありますか?