2015-09-30 19 views
5

टीएल से अधिक बराबर है; डॉ: क्या करता है => करते हैं?जावास्क्रिप्ट में => मतलब क्या है? (

मैं सिर्फ codewars पर और समस्या के लिए अन्य लोगों के आम प्रतिक्रियाएं देखने के बाद एक समस्या को हल करने के बाद, उसे मैं यह देख रखना: =>

समस्या नीचे है:

आप एक तरकश है तीर का, लेकिन कुछ क्षतिग्रस्त हो गए हैं। क्विवर में वैकल्पिक श्रेणी की जानकारी वाले तीर होते हैं (विभिन्न प्रकार के लक्ष्य अलग-अलग श्रेणियों पर स्थित होते हैं), इसलिए प्रत्येक आइटम एक तीर होता है। आपको यह सत्यापित करने की आवश्यकता है कि युद्ध के लिए तैयार करने के लिए आपके पास कुछ अच्छे लोग हैं। नीचे एक उदाहरण सरणी है जो तीर का क्विवर है।

anyArrows([ 
{range: 5}, 
{range: 10, damaged: true}, 
{damaged: true} 
]) 

यदि क्विवर में एक तीर क्षतिग्रस्त स्थिति नहीं है, तो इसका मतलब है कि यह नया है।

यह एक उदाहरण मैंने देखा कि जो सही या गलत देता है, पर अगर वहाँ तरकश में एक क्षतिरहित तीर है निर्भर करता है:

function anyArrows(arrows){ 
    return arrows.some(a => !a.damaged); 
} 

अब, कि मेरे कोड से जिस तरह से कम था! मेरा एक बहुत अधिक बुनियादी था:

function anyArrows(arrows){ 
    for (var i = 0 ; i < arrows.length ; i++){ 
    if (arrows[i].damaged === false) { return true; } 
    else if (arrows[i].damaged === true) { return false; } 
    else if (arrows[i].range === 0) { return false } 
    else { return true; } 
    } 
    if (arrows.length === 0) return false; 
} 

फिर हालांकि, सवाल यह है: क्या => इस मामले में और सामान्य रूप में क्या करता है?

+1

[तीर कार्यों] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions)? –

+0

यह ES6 में नया छोटा फ़ंक्शन सिंटैक्स है। जैसे 'फ़ंक्शन (x) {वापसी x.Id;}' 'x => x.Id' बन जाता है। यह सी # में लैम्ब्डा अभिव्यक्ति के समान है। –

+0

मेरे लिए यह एक LINQ क्वेरी जैसा प्रतीत होता है, मूल रूप से वे क्या कर रहे हैं, तीर लौटाएं जहां '// // तीरों से एक वस्तु है' 'क्षतिग्रस्त 'है। इस https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/some पर एक नज़र डालें – Canvas

उत्तर

8

=> ES2015 वाक्यविन्यास है जो शरीर से तीर फ़ंक्शन पैरामीटर को अलग करता है, उदा। (params) => { /* body */ }

ArrowFunction : ArrowParameters => ConciseBody

संबंधित मुद्दे