คำถามติดแท็ก underscore.js

ขีดล่างคือไลบรารียูทิลิตี้เข็มขัดสำหรับ JavaScript ที่ให้การสนับสนุนการเขียนโปรแกรมเชิงฟังก์ชันมากมายที่คุณคาดหวังใน Prototype.js (หรือ Ruby) แต่ไม่มีการขยายอ็อบเจ็กต์ JavaScript ในตัวใด ๆ มันเป็นสิ่งที่จะไปพร้อมกับ tux ของ jQuery

12
เทมเพลตภายนอกในเครื่องหมายขีดล่าง
ฉันใช้แม่แบบขีดล่าง เป็นไปได้ที่จะแนบไฟล์ภายนอกเป็นเทมเพลต ? ใน Backbone View ฉันมี: 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 () ตามแอตทริบิวต์หลายรายการ
ฉันกำลังพยายามจัดเรียงอาร์เรย์ด้วยวัตถุตามคุณสมบัติหลายรายการ กล่าวคือถ้าแอตทริบิวต์แรกเหมือนกันระหว่างสองวัตถุควรใช้แอตทริบิวต์ที่สองเพื่อรวมวัตถุทั้งสอง ตัวอย่างเช่นพิจารณาอาร์เรย์ต่อไปนี้: 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; }); วิธีนี้ใช้งานได้ดี แต่ฉันจะดำเนินการอย่างไรเพื่อให้ 'John' และ 'Lisa' เรียงลำดับอย่างถูกต้อง?

4
ซ่อน / แสดงองค์ประกอบด้วยบูลีน
ฉันมักจะมีสิ่งเหล่านี้มากมายในรหัสของฉัน if(shouldElementBeVisible) $element.show() else $element.hide() มีวิธีที่หรูหรากว่านี้ที่บรรจุด้วยจาวาสคริปต์ 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", …

6
เพิ่มคุณสมบัติให้กับอาร์เรย์ของวัตถุ
ฉันมีอาร์เรย์ของวัตถุดังที่แสดงด้านล่าง Object {Results:Array[2]} Results:Array[2] [0-1] 0:Object id=1 name: "Rick" 1:Object id=2 name:'david' ฉันต้องการเพิ่มคุณสมบัติอีกหนึ่งรายการชื่อ Active ให้กับแต่ละองค์ประกอบของอาร์เรย์ของออบเจ็กต์นี้ ผลลัพธ์สุดท้ายควรเป็นดังนี้ 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" ใครช่วยบอกฉันหน่อยได้ไหมว่าจะบรรลุเป้าหมายนี้ได้อย่างไร

22
ทำ <something> N ครั้ง (ไวยากรณ์ที่เปิดเผย)
มีวิธีใน Javascript ที่จะเขียนสิ่งนี้ได้อย่างง่ายดาย: [1,2,3].times do { something(); } ห้องสมุดใดที่อาจรองรับไวยากรณ์ที่คล้ายกันบ้าง อัปเดต:เพื่อชี้แจง - ฉันต้องการsomething()ให้เรียกว่า 1,2 และ 3 ครั้งตามลำดับสำหรับการวนซ้ำแต่ละองค์ประกอบอาร์เรย์

3
backbone.js - เหตุการณ์ที่รู้ว่าคลิกอะไร
ในคลาสมุมมอง backbone.js ของฉันฉันมีสิ่งที่ต้องการ: ... events: { 'click ul#perpage span' : 'perpage' }, perpage: function() { // Access the text of the span that was clicked here // Something like: alert($(element).text()) }, ... เนื่องจากมาร์กอัปต่อหน้าของฉันอาจมีบางอย่างเช่น: &lt;ul id="perpage"&gt; &lt;li&gt;&lt;span&gt;5&lt;/span&gt;&lt;/li&gt; &lt;li&gt;&lt;span&gt;10&lt;/span&gt;&lt;/li&gt; &lt;/ul&gt; แล้วฉันจะหาข้อมูลเกี่ยวกับองค์ประกอบที่ทำให้เกิดเหตุการณ์ได้อย่างไร หรือในกรณีนี้มีการคลิก?

4
Underscore.js และ jQuery เสริมซึ่งกันและกันหรือไม่ [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน5 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเพิ่งเริ่มที่จะเรียนรู้ JavaScript และสะดุดUnderscore.jsและjQuery ขีดล่างดูดีมาก แต่ฉันสงสัยว่า jQuery ยังไม่มีฟังก์ชันที่คล้ายกับขีดล่าง แล้วมันคุ้มไหมที่จะใช้ทั้งสองอย่าง?

12
ค้นหาดัชนีอาร์เรย์ของวัตถุที่มีค่าคีย์เฉพาะในเครื่องหมายขีดล่าง
ในขีดล่างฉันสามารถค้นหารายการที่มีค่าคีย์เฉพาะได้สำเร็จ var tv = [{id:1},{id:2}] var voteID = 2; var data = _.find(tv, function(voteItem){ return voteItem.id == voteID; }); //data = { id: 2 } แต่ฉันจะหาดัชนีอาร์เรย์ที่ออบเจ็กต์เกิดขึ้นได้อย่างไร

7
เป็นไปได้ไหมที่จะได้รับดัชนีที่คุณจัดเรียงใน Underscore.js
ฉันใช้ขีดล่างไลบรารี JS และโดยเฉพาะอย่างยิ่งการใช้การเรียก_.eachและ_.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
ต้องการคำอธิบายของฟังก์ชัน _.bindAll () จาก Underscore.js
ฉันได้เรียนรู้ 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 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.