タグ付けされた質問 「underscore.js」

Underscoreは、Prototype.js(またはRuby)で期待される多くの関数型プログラミングサポートを提供するJavaScriptのユーティリティベルトライブラリですが、組み込みのJavaScriptオブジェクトは一切拡張されていません。これは、jQueryのtuxと連携するための引き分けです。

12
Underscoreの外部テンプレート
Underscoreテンプレートを使用しています。テンプレートとして外部ファイルを添付することは可能ですか? バックボーンビューで私は: textTemplate: _.template( $('#practice-text-template').html() ), initialize: function(){ this.words = new WordList; this.index = 0; this.render(); }, 私のhtmlでは: <script id="practice-text-template" type="text/template"> <h3>something code</h3> </script> それはうまくいきます。しかし、私は外部テンプレートが必要です。私が試す: <script id="practice-text-template" type="text/template" src="templates/tmp.js"> または textTemplate: _.template( $('#practice-text-template').load('templates/tmp.js') ), または $('#practice-text-template').load('templates/tmp.js', function(data){ this.textTemplate = _.template( data ) }) しかし、それはうまくいきませんでした。

11
下線:複数の属性に基づくsortBy()
複数の属性に基づいてオブジェクトを含む配列をソートしようとしています。つまり、最初の属性が2つのオブジェクト間で同じである場合、2番目の属性を使用して2つのオブジェクトを比較する必要があります。たとえば、次の配列について考えてみます。 var patients = [ [{name: 'John', roomNumber: 1, bedNumber: 1}], [{name: 'Lisa', roomNumber: 1, bedNumber: 2}], [{name: 'Chris', roomNumber: 2, bedNumber: 1}], [{name: 'Omar', roomNumber: 3, bedNumber: 1}] ]; これらをroomNumber属性でソートするには、次のコードを使用します。 var sortedArray = _.sortBy(patients, function(patient) { return patient[0].roomNumber; }); これは正常に機能しますが、「ジョン」と「リサ」が正しくソートされるようにするにはどうすればよいですか?

6
オブジェクトの配列にプロパティを追加する
以下に示すようなオブジェクトの配列があります Object {Results:Array[2]} Results:Array[2] [0-1] 0:Object id=1 name: "Rick" 1:Object id=2 name:'david' このオブジェクトの配列の各要素に、Activeという名前のプロパティをもう1つ追加したいと思います。 最終的な結果は次のようになります。 Object {Results:Array[2]} Results:Array[2] [0-1] 0:Object id=1 name: "Rick" Active: "false" 1:Object id=2 name:'david' Active: "false" 誰かがこれを達成する方法を教えてもらえますか?

4
要素をブール値で非表示/表示
私はコードにこれらの多くを含める傾向があります if(shouldElementBeVisible) $element.show() else $element.hide() javascript、jquery、またはアンダースコアでパッケージ化されたよりエレガントな方法はありますか?理想的にはこのようなものが欲しい $element.showOrHideDependingOn(shouldElementBeVisible)

9
lodash .groupByを使用します。グループ化された出力に独自のキーを追加するにはどうすればよいですか?
このサンプルデータはAPIから返されます。 Lodash _.groupByを使用して、データをより使いやすいオブジェクトに変換しています。返される生データはこれです: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", "color": "blue", "age": "33" }, { "name": "eddie", "color": "green", "age": "77" } ] この_.groupBy関数が次のようなオブジェクトを返すようにしたい: [ { color: "blue", users: [ { "name": "jim", "color": "blue", "age": "22" }, { "name": "Sam", "color": "blue", "age": …

3
backbone.js-何がクリックされたかを知るイベント
私のbackbone.jsビュークラスの1つには、次のようなものがあります。 ... events: { 'click ul#perpage span' : 'perpage' }, perpage: function() { // Access the text of the span that was clicked here // Something like: alert($(element).text()) }, ... 私のページごとのマークアップは次のようなものになるかもしれないので: <ul id="perpage"> <li><span>5</span></li> <li><span>10</span></li> </ul> では、イベントを発生させた要素に関する情報をどのように正確に見つけることができますか?または、この例では、それがクリックされましたか?

4
Underscore.jsとjQueryは互いに補完し合うのですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して質問を更新し、事実と引用で回答できるようにします。 4年前休業。 この質問を改善する 私はJavaScriptを学び始めたばかりで、Underscore.jsとjQueryに出会いました。Underscoreは本当にクールに見えますが、jQueryがUnderscoreに似た関数をまだ提供していないのではないかと思います。では、両方を使用する価値はありますか?

12
アンダースコアで特定のキー値を持つオブジェクトの配列インデックスを見つける
アンダースコアでは、特定のキー値を持つアイテムを正常に見つけることができます var tv = [{id:1},{id:2}] var voteID = 2; var data = _.find(tv, function(voteItem){ return voteItem.id == voteID; }); //data = { id: 2 } しかし、そのオブジェクトが発生した配列インデックスを見つけるにはどうすればよいですか?

22
<something>をN回実行します(宣言構文)
JavaScriptにこのようなものを簡単に書く方法はありますか: [1,2,3].times do { something(); } 同様の構文をサポートする可能性のあるライブラリはありますか? 更新:明確にするために- something()各配列要素の反復ごとにそれぞれ1、2、3回呼び出されたい

7
Underscore.jsで並べ替えるインデックスを取得することは可能ですか?
私はJSライブラリUnderscoreを使用して_.eachおり、特にandおよび_.sortbyライブラリ呼び出しを使用しています。イテレータデリゲート内の値のインデックスを取得するための可能な方法があるかどうか疑問に思っています _.sortBy([1, 4, 2, 66, 444, 9], function(num){ /*It'd be great to have access to the index in here */ return Math.sin(num); });

3
Underscore.jsの_.bindAll()関数の説明が必要です
私はいくつかのbackbone.jsを学び、_.bindAll()使用されているインスタンスをたくさん見てきました。私はbackbone.jsとunderscore.jsのドキュメントページ全体を読んで、それが何をするのかを理解しようとしましたが、それでも何をするのかについては非常に曖昧です。アンダースコアの説明は次のとおりです。 _.bindAll(object, [*methodNames]) methodNamesで指定されたオブジェクト上のいくつかのメソッドをバインドして、呼び出されるたびにそのオブジェクトのコンテキストで実行されるようにします。イベントハンドラーとして使用される関数をバインドするのに非常に便利です。そうしないと、かなり役に立たないこれで呼び出されます。methodNamesが指定されていない場合、オブジェクトのすべての関数プロパティがそれにバインドされます。 var buttonView = { label : 'underscore', onClick : function(){ alert('clicked: ' + this.label); }, onHover : function(){ console.log('hovering: ' + this.label); } }; _.bindAll(buttonView); jQuery('#underscore_button').bind('click', buttonView.onClick); =&gt; When the button is clicked, this.label will have the correct value... おそらく別の例や口頭での説明をしてここで手助けできるなら、何でもいただければ幸いです。もっとチュートリアルや例を検索しようとしましたが、必要なものを提供するものはありませんでした。ほとんどの人はそれが自動的に何をするかを知っているようです...


5
Lodashを使用してJavaScript配列をチャンクに分割する
JavaScript配列をnサイズのチャンクに分割する必要があります。 例:この配列が与えられた ["a1", "a2", "a3", "a4", "a5", "a6", "a7", "a8", "a9", "a10", "a11", "a12", "a13"] およびn4に等しい、出力は次のようになります。 [ ["a1", "a2", "a3", "a4"], ["a5", "a6", "a7", "a8"], ["a9", "a10", "a11", "a12"], ["a13"] ] 私はこの問題の純粋なJavaScriptソリューションを知っていますが、すでにLodashを使用しているので、Lodashがこれに対してより良いソリューションを提供するかどうか疑問に思っています。 編集: アンダースコアソリューションがどれだけ遅いかを確認するために、jsPerfテストを作成しました。

4
アンダースコアを使用してオブジェクトの配列を複製するにはどうすればよいですか?
#!/usr/bin/env node var _ = require('underscore'); var a = [{f: 1}, {f:5}, {f:10}]; var b = _.clone(a); b[1].f = 55; console.log(JSON.stringify(a)); その結果、次のようになります。 [{"f":1},{"f":55},{"f":10}] クローンが機能していないようです。だから私はRTFM、そしてこれを見てください: http://underscorejs.org/#clone オブジェクトの浅いコピーのクローンを作成します。ネストされたオブジェクトまたは配列は、複製されるのではなく、参照によってコピーされます。 だから_.cloneかなり役に立たない。オブジェクトの配列を実際にコピーする方法はありますか?

3
各ループ内で「続行」する方法:アンダースコア、node.js
node.jsのコードは十分に単純です。 _.each(users, function(u, index) { if (u.superUser === false) { //return false would break //continue? } //Some code }); 私の質問は、superUserがfalseに設定されている場合、「いくつかのコード」を実行せずに次のインデックスに進むにはどうすればよいですか? PS:私はelse条件が問題を解決することを知っています。答えを知りたいのですが。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.