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

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

12
ความแตกต่างระหว่าง Lodash และขีดล่าง [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดเมื่อปีที่แล้ว ทำไมบางคนถึงเลือกชอบโปรแกรมอรรถประโยชน์lodash.jsหรือunderscore.jsมากกว่าอีกอันหนึ่ง? Lodash ดูเหมือนจะเป็นแบบดรอปอินสำหรับขีดล่าง ฉันคิดว่าทั้งคู่นั้นยอดเยี่ยม แต่ฉันไม่รู้มากพอเกี่ยวกับวิธีการทำงานเพื่อเปรียบเทียบการศึกษาและฉันต้องการทราบเพิ่มเติมเกี่ยวกับความแตกต่าง

30
วิธีที่มีประสิทธิภาพมากที่สุดในการจัดกลุ่มตามอาร์เรย์ของวัตถุ
วิธีที่มีประสิทธิภาพมากที่สุดในการจัดกลุ่มวัตถุในอาร์เรย์คืออะไร? ตัวอย่างเช่นกำหนดอาร์เรย์ของวัตถุนี้: [ { Phase: "Phase 1", Step: "Step 1", Task: "Task 1", Value: "5" }, { Phase: "Phase 1", Step: "Step 1", Task: "Task 2", Value: "10" }, { Phase: "Phase 1", Step: "Step 2", Task: "Task 1", Value: "15" }, { Phase: "Phase 1", Step: "Step 2", Task: …

7
คำอธิบายของ <script type =“ text / template”> … </script>
ฉันสะดุดสิ่งที่ฉันไม่เคยเห็นมาก่อน ในแหล่งที่มาของแอปพลิเคชันตัวอย่างของ Backbone.js ( ตัวอย่างแบ็กโบน TODO ) พวกเขามีเทมเพลตอยู่ภายใน&lt;script type = "text/template"&gt;&lt;/script&gt;ซึ่งมีรหัสที่ดูเหมือน PHP แต่มีแท็ก JavaScript มีคนอธิบายเรื่องนี้กับฉันได้ไหม ถูกกฎหมายหรือไม่

8
วิธีการใช้ underscore.js เป็นเครื่องมือแม่แบบ?
ฉันพยายามเรียนรู้เกี่ยวกับจาวาสคริปต์ใหม่ ๆ ในฐานะภาษาเซิร์ฟเวอร์และภาษาที่ใช้งานได้ ไม่กี่วันที่ผ่านมาฉันได้ยินเกี่ยวกับ node.js และแสดงกรอบงาน จากนั้นฉันเห็น underscore.js เป็นชุดฟังก์ชันยูทิลิตี้ ผมเห็นคำถามนี้ใน StackOverflow มันบอกว่าเราสามารถใช้ underscore.js เป็นเครื่องมือแม่แบบ ใครรู้บทเรียนที่ดีเกี่ยวกับวิธีการใช้ underscore.js สำหรับการสร้างเทมเพลตโดยเฉพาะอย่างยิ่งสำหรับผู้ที่มีประสบการณ์น้อยกับจาวาสคริปต์ขั้นสูง ขอบคุณ

8
วิธีการใช้ถ้าคำสั่งในแม่แบบ underscore.js?
ฉันใช้ฟังก์ชัน underscore.js templating และได้ทำเทมเพลตเช่นนี้: &lt;script type="text/template" id="gridItem"&gt; &lt;div class="griditem &lt;%= gridType %&gt; &lt;%= gridSize %&gt;"&gt; &lt;img src="&lt;%= image %&gt;" /&gt; &lt;div class="content"&gt; &lt;span class="subheading"&gt;&lt;%= categoryName %&gt;&lt;/span&gt; &lt;% if (date) { %&gt;&lt;span class="date"&gt;&lt;%= date %&gt;&lt;/span&gt;&lt;% } %&gt; &lt;h2&gt;&lt;%= title %&gt;&lt;/h2&gt; &lt;/div&gt; &lt;/div&gt; &lt;/script&gt; อย่างที่คุณเห็นฉันมีคำสั่ง if ในนั้นเพราะโมเดลของฉันทั้งหมดไม่มีพารามิเตอร์วันที่ date is not definedอย่างไรก็ตามวิธีการทำเช่นนี้มันทำให้ผมมีข้อผิดพลาด ดังนั้นฉันจะทำอย่างไรถ้าข้อความภายในเทมเพลต?

11
วิธีทำลายฟังก์ชัน _.each ใน underscore.js
ฉันกำลังมองหาวิธีที่จะหยุดการทำซ้ำของ underscore.js _.each()วิธี แต่ไม่สามารถหาวิธีแก้ปัญหา jQuery สามารถทำลายถ้าคุณทำ.each()return false มีวิธีหยุดขีดเส้นใต้แต่ละอัน () หรือไม่? _([1,2,3]).each(function(v){ if (v==2) return /*what?*/; })

6
กำลังโหลด Backbone และ Underscore โดยใช้ RequireJS
ฉันกำลังพยายามโหลด Backbone และ Underscore (รวมถึง jQuery) ด้วย RequireJS ด้วย Backbone และ Underscore เวอร์ชันล่าสุดดูเหมือนว่าจะยุ่งยาก สำหรับอันเดอร์ Underscore จะลงทะเบียนตัวเองโดยอัตโนมัติในฐานะโมดูล แต่ Backbone ถือว่า Underscore นั้นสามารถใช้ได้ทั่วโลก ฉันควรทราบด้วยว่า Backbone ดูเหมือนจะไม่ลงทะเบียนตัวเองเป็นโมดูลซึ่งทำให้มันไม่สอดคล้องกับ libs อื่น ๆ นี่คือ main.js ที่ดีที่สุดที่ฉันสามารถคิดได้: require( { paths: { 'backbone': 'libs/backbone/backbone-require', 'templates': '../templates' } }, [ // jQuery registers itself as a module. 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7/jquery.min.js', // …

5
ฉันจะเรียงลำดับ asc และ desc โดยใช้ underscore.js ได้อย่างไร
ขณะนี้ฉันใช้เครื่องหมายขีดล่างเพื่อจัดเรียง json ของฉัน ตอนนี้ฉันได้ขอให้ทำascendingและdescendingเรียงลำดับโดยใช้ underscore.js ฉันไม่เห็นอะไรเกี่ยวกับสิ่งเดียวกันในเอกสารประกอบ ฉันจะบรรลุสิ่งนี้ได้อย่างไร



5
การใช้โมดูล Underscore กับ Node.js
ฉันได้เรียนรู้เกี่ยวกับ node.js และโมดูลและดูเหมือนจะไม่สามารถทำให้ไลบรารี Underscore ทำงานได้อย่างถูกต้อง ... ดูเหมือนว่าครั้งแรกที่ฉันใช้ฟังก์ชั่นจาก Underscore มันเขียนทับวัตถุ _ ด้วยผลลัพธ์ของ เรียกฟังก์ชั่นของฉัน ใครรู้ว่าเกิดอะไรขึ้น ตัวอย่างเช่นนี่คือเซสชันจาก node.js REPL: Admin-MacBook-Pro:test admin$ node &gt; require("./underscore-min") { [Function] _: [Circular], VERSION: '1.1.4', forEach: [Function], each: [Function], map: [Function], inject: [Function], (...more functions...) templateSettings: { evaluate: /&lt;%([\s\S]+?)%&gt;/g, interpolate: /&lt;%=([\s\S]+?)%&gt;/g }, template: [Function] } &gt; _.max([1,2,3]) 3 …

11
ลบรายการออกจากอาร์เรย์โดยใช้ UnderscoreJS
สมมติว่าฉันมีรหัสนี้ var arr = [{id: 1, ชื่อ: 'a'}, {id: 2, ชื่อ: 'b'}, {id: 3, ชื่อ: 'c'}]; และฉันต้องการลบรายการที่มี id = 3 จากอาร์เรย์ มีวิธีในการทำเช่นนี้โดยไม่ต้องประกบ? เอาอะไรมาใช้ขีดล่างหรืออะไรแบบนั้น ขอบคุณ!

11
แม็พผ่านคีย์การถุกรักษาวัตถุ
mapฟังก์ชั่นใน underscore.js ถ้าเรียกว่ามีวัตถุจาวาสคริปต์กลับอาร์เรย์ของค่าแมปจากค่าของวัตถุที่ _.map({one: 1, two: 2, three: 3}, function(num, key){ return num * 3; }); =&gt; [3, 6, 9] มีวิธีที่จะทำให้มันรักษากุญแจหรือไม่? เช่นฉันต้องการฟังก์ชั่นที่ส่งกลับ {one: 3, two: 6, three: 9}

6
ใช้ขีดล่างภายในตัวควบคุมเชิงมุม
ฉันจะใช้ไลบรารีขีดล่างภายในตัวควบคุม angularjs ได้อย่างไร ในโพสต์นี้: AngularJS limitTo by last 2 records มีคนแนะนำให้กำหนดตัวแปร _ ให้กับ rootScope เพื่อให้ไลบรารีพร้อมใช้งานสำหรับขอบเขตทั้งหมดภายในแอป แต่ฉันไม่ชัดเจนว่าจะทำที่ไหน ฉันหมายความว่าควรไปประกาศโมดูลแอพหรือไม่ เช่น: var myapp = angular.module('offersApp', []) .config(['$rootScope', function($rootScope) { } แต่ฉันจะโหลดขีดล่าง lib ได้ที่ไหน? ฉันมีในหน้าดัชนีของฉันคำสั่ง ng-app และการอ้างอิงสคริปต์ไปยัง libs เชิงมุมและขีดล่าง? index.html: &lt;head&gt; &lt;/head&gt; &lt;body ng-app="offersApp"&gt; ... &lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"&gt;&lt;/script&gt; &lt;script src="scripts/vendor/angular.js"&gt;&lt;/script&gt; &lt;script src="scripts/vendor/underscore.js"&gt;&lt;/script&gt; ... ฉันจะบรรลุเป้าหมายนี้ได้อย่างไร?

13
การลบอ็อบเจ็กต์ที่ซ้ำกันด้วยขีดล่างสำหรับ Javascript
ฉันมีอาร์เรย์ประเภทนี้: var foo = [ { "a" : "1" }, { "b" : "2" }, { "a" : "1" } ]; ฉันต้องการกรองให้มี: var bar = [ { "a" : "1" }, { "b" : "2" }]; ฉันลองใช้ _.uniq แต่ฉันเดาว่าเพราะ{ "a" : "1" }มันไม่เท่ากับตัวมันเองจึงไม่ได้ผล มีวิธีใดบ้างที่จะให้ uniq ขีดล่างด้วยฟังก์ชัน overriden equals?

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.