คำถามติดแท็ก javascript

สำหรับคำถามเกี่ยวกับการเขียนโปรแกรมใน ECMAScript (JavaScript / JS) และภาษา / การใช้งานต่างๆ (ไม่รวม ActionScript) แท็กนี้ไม่ค่อยได้ใช้คนเดียว แต่ส่วนใหญ่มักจะเกี่ยวข้องกับแท็ก [node.js], [jquery], [json] และ [html]

6
รับรายการของคีย์อาร์เรย์ที่เชื่อมโยง
ฉันมีอาเรย์เชื่อมโยงใน Javascript: var dictionary = { "cats": [1,2,3,4,5], "dogs": [6,7,8,9,10] }; ฉันจะรับกุญแจของพจนานุกรมนี้ได้อย่างไร เช่นฉันต้องการ var keys = ["cats", "dogs"]; แก้ไข 7 ปีต่อมา: เพียงเพื่อให้ได้คำศัพท์ที่ถูกต้อง - ไม่มีสิ่งใดที่เป็น 'อาเรย์แบบเชื่อมโยง' ใน Javascript - นี่คือเทคนิคเพียงobjectและมันเป็นปุ่มวัตถุที่เราต้องการ
258 javascript  arrays 

9
แยกสตริง HTML ด้วย JS
ฉันค้นหาวิธีแก้ปัญหา แต่ไม่มีอะไรเกี่ยวข้องดังนั้นนี่คือปัญหาของฉัน: ฉันต้องการแยกสตริงที่มีข้อความ HTML ฉันต้องการที่จะทำใน JavaScript ฉันลองใช้ห้องสมุดนี้แต่ดูเหมือนว่ามันจะแยกวิเคราะห์ HTML ของหน้าปัจจุบันของฉันไม่ใช่จากสตริง เพราะเมื่อฉันลองโค้ดด้านล่างมันจะเปลี่ยนชื่อหน้าของฉัน: var parser = new HTMLtoDOM("<html><head><title>titleTest</title></head><body><a href='test0'>test01</a><a href='test1'>test02</a><a href='test2'>test03</a></body></html>", document); เป้าหมายของฉันคือการแยกลิงค์จากหน้าภายนอก HTML ที่ฉันอ่านเหมือนกับสตริง คุณรู้จัก API ที่จะทำหรือไม่?

6
แบบแผนการตั้งชื่อ JavaScript [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังคำตอบที่จะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้มีแนวโน้มที่จะเรียกร้องการอภิปรายการโต้แย้งการหยั่งเสียงหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา ฉันรู้ว่ามีข้อโต้แย้งมากมาย (อาจไม่ใช่ข้อโต้แย้ง แต่อย่างน้อยก็มีข้อโต้แย้ง) เกี่ยวกับแบบแผนการตั้งชื่อที่ดีที่สุดสำหรับ JavaScript คุณตั้งชื่อตัวแปรฟังก์ชันวัตถุและสิ่งนั้นได้อย่างไร ฉันจะทิ้งความคิดของฉันเองเกี่ยวกับเรื่องนี้เนื่องจากฉันไม่ได้ทำ JS มานาน (สองสามปีเท่านั้น) และฉันเพิ่งได้รับคำขอให้สร้างเอกสารที่มีแบบแผนการตั้งชื่อเพื่อใช้ในโครงการที่ทำงานของเรา . ดังนั้นฉันจึงได้ดู (google-ing) รอบ ๆ และมีความคิดเห็นที่แตกต่างกันมากมาย หนังสือที่ฉันอ่านใน JS ใช้วิธีการตั้งชื่อต่าง ๆ ด้วยตัวเอง แต่พวกเขาก็เห็นด้วยเล็กน้อย:“ ค้นหาสิ่งที่เหมาะกับคุณและยึดมันไว้” แต่ตอนนี้ฉันได้อ่านหนังสือมากมายฉันพบว่าฉันชอบวิธีอื่นดีกว่าที่ฉันคุ้นเคย

9
AngularJS $ http และ $ ทรัพยากร
ฉันมีบริการทางเว็บบางอย่างที่ฉันต้องการโทร $resourceหรือ$httpฉันควรใช้อันไหนดี? $resource: https://docs.angularjs.org/api/ngResource/service/$resource $http: https://docs.angularjs.org/api/ng/service/$http หลังจากฉันอ่านหน้า API ทั้งสองด้านบนแล้วฉันก็หลงทาง คุณกรุณาอธิบายให้ฉันฟังเป็นภาษาอังกฤษธรรมดาอะไรคือความแตกต่างและในสถานการณ์ใดที่ฉันควรใช้ ฉันจะจัดโครงสร้างการเรียกเหล่านี้และอ่านผลลัพธ์ลงในวัตถุ js อย่างถูกต้องได้อย่างไร

7
มอคค่า / ชัยคาดว่าจะไม่โยนข้อผิดพลาดที่ส่งออกไป
ฉันมีปัญหาในการให้ Chai expect.to.throwทำงานทดสอบแอพ node.js ของฉัน การทดสอบล้มเหลวในข้อผิดพลาดที่ส่งออกมา แต่ถ้าฉันปิดกรณีทดสอบเพื่อลองจับและยืนยันข้อผิดพลาดที่ตรวจพบ ไม่expect.to.throwทำงานเหมือนที่ฉันคิดว่าควรหรืออะไร? it('should throw an error if you try to get an undefined property', function (done) { var params = { a: 'test', b: 'test', c: 'test' }; var model = new TestModel(MOCK_REQUEST, params); // neither of these work expect(model.get('z')).to.throw('Property does not exist in …

19
เรียงลำดับอาร์เรย์ของวัตถุด้วยปุ่มเดียวพร้อมค่าวันที่
ฉันมีอาเรย์ของวัตถุที่มีคู่ค่าคีย์หลายคู่และฉันต้องการเรียงลำดับตาม 'updated_at': [ { "updated_at" : "2012-01-01T06:25:24Z", "foo" : "bar" }, { "updated_at" : "2012-01-09T11:25:13Z", "foo" : "bar" }, { "updated_at" : "2012-01-05T04:13:24Z", "foo" : "bar" } ] วิธีที่มีประสิทธิภาพที่สุดในการทำคืออะไร?

13
แทนที่อักขระหลายตัวในหนึ่งแทนที่การโทร
คำถามเล็ก ๆ น้อย ๆ ที่เรียบง่ายมาก แต่ฉันก็ไม่เข้าใจว่าจะทำอย่างไร ฉันต้องการแทนที่ '_' ทุกอินสแตนซ์ด้วยช่องว่างและทุกอินสแตนซ์ของ '#' ด้วยไม่มีอะไรว่างเปล่า var string = '#Please send_an_information_pack_to_the_following_address:'; ฉันเคยลองแล้ว: string.replace('#','').replace('_', ' '); ฉันไม่ชอบคำสั่งที่ผูกมัดแบบนี้ มีวิธีอื่นในการทำเช่นนี้หรือไม่?
257 javascript  jquery 

30
ฉันจะรับรหัสวิดีโอ YouTube จาก URL ได้อย่างไร
ฉันต้องการที่จะได้รับ v=id URL จาก YouTube ด้วย JavaScript (ไม่ใช่ jQuery, JavaScript บริสุทธิ์) ตัวอย่างรูปแบบ URL ของ YouTube http://www.youtube.com/watch?v=u8nQa1cJyX8&a=GxdCwVVULXctT2lYDEPllDR0LRTutYfW http://www.youtube.com/watch?v=u8nQa1cJyX8 หรือรูปแบบ YouTube อื่น ๆ ที่มีรหัสวิดีโอใน URL ผลลัพธ์จากรูปแบบเหล่านี้ u8nQa1cJyX8
257 javascript  regex  url  youtube 

13
วิธีฟังการเปลี่ยนแปลง 'อุปกรณ์ประกอบฉาก'
ในเอกสาร VueJs 2.0ฉันไม่พบ hooks ที่จะฟังpropsการเปลี่ยนแปลง VueJs มีตะขอเช่นนั้นonPropsUpdated()หรือคล้ายกัน? ปรับปรุง ตามที่ @wostex แนะนำฉันได้ลองใช้watchทรัพย์สินของฉัน แต่ไม่มีอะไรเปลี่ยนแปลง จากนั้นฉันก็รู้ว่าฉันมีคดีพิเศษ: <template> <child :my-prop="myProp"></child> </template> <script> export default { props: ['myProp'] } </script> ฉันกำลังส่งผ่านmyPropองค์ประกอบหลักที่ได้รับไปยังchildองค์ประกอบ จากนั้นwatch: {myProp: ...}ไม่ทำงาน

13
ฉันสามารถใช้แอททริบิวที่ต้องการกับฟิลด์ <select> ใน HTML5 ได้ไหม?
ฉันจะตรวจสอบได้อย่างไรว่าผู้ใช้เลือกบางสิ่งจาก&lt;select&gt;ฟิลด์ใน HTML5 หรือไม่ ฉันเห็นว่า&lt;select&gt;ไม่รองรับrequiredคุณสมบัติใหม่... ฉันต้องใช้ JavaScript หรือไม่ หรือมีบางอย่างที่ฉันขาดหายไป? : /


13
เป็นไปได้หรือไม่ที่จะนำเข้าโมดูลจากไฟล์ทั้งหมดในไดเรกทอรีโดยใช้ไวด์การ์ด?
ด้วย ES6 ฉันสามารถนำเข้าการส่งออกจำนวนมากจากไฟล์ดังนี้: import {ThingA, ThingB, ThingC} from 'lib/things'; อย่างไรก็ตามฉันชอบองค์กรที่มีหนึ่งโมดูลต่อไฟล์ ฉันจบด้วยการนำเข้าเช่นนี้: import ThingA from 'lib/things/ThingA'; import ThingB from 'lib/things/ThingB'; import ThingC from 'lib/things/ThingC'; ฉันชอบที่จะทำสิ่งนี้: import {ThingA, ThingB, ThingC} from 'lib/things/*'; หรือสิ่งที่คล้ายกันโดยมีหลักการที่เข้าใจว่าแต่ละไฟล์มีการส่งออกเริ่มต้นหนึ่งรายการและแต่ละโมดูลมีชื่อเหมือนกับไฟล์ เป็นไปได้ไหม

11
จะแก้ไข C: \ fakepath ได้อย่างไร?
&lt;input type="file" id="file-id" name="file_name" onchange="theimage();"&gt; นี่คือปุ่มอัพโหลดของฉัน &lt;input type="text" name="file_path" id="file-path"&gt; นี่คือช่องข้อความที่ฉันต้องแสดงเส้นทางแบบเต็มของไฟล์ function theimage(){ var filename = document.getElementById('file-id').value; document.getElementById('file-path').value = filename; alert(filename); } นี่คือ JavaScript ที่แก้ปัญหาของฉัน แต่ในการแจ้งเตือนค่าให้ฉัน C:\fakepath\test.csv และ Mozilla ให้ฉัน: test.csv แต่ฉันต้องการท้องถิ่นเส้นทางของไฟล์ที่มีคุณสมบัติครบถ้วน วิธีแก้ปัญหานี้? หากนี่เป็นเพราะปัญหาด้านความปลอดภัยของเบราว์เซอร์แล้ววิธีอื่นควรทำเช่นไร?


21
วิธีอ่านไฟล์ JSON ในระบบภายนอกใน JavaScript
ฉันบันทึกไฟล์ JSON ในระบบโลคัลของฉันและสร้างไฟล์ JavaScript เพื่ออ่านไฟล์ JSON และพิมพ์ข้อมูลออกมา นี่คือไฟล์ JSON: {"resource":"A","literals":["B","C","D"]} สมมติว่านี้เป็นเส้นทางของไฟล์ JSON /Users/Documents/workspace/test.jsonนี้: ใครช่วยกรุณาช่วยฉันในการเขียนรหัสง่าย ๆ เพื่ออ่านไฟล์ JSON และพิมพ์ข้อมูลใน JavaScript?
256 javascript  json 

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