मूल रूप से एक फ़ंक्शन में एक iteratee। जब आप लॉनाश के iteratee फ़ंक्शन को कॉल करते हैं तो यह फ़ंक्शन देता है जिसे बाद में कोड में उपयोग किया जा सकता है।
उदाहरण कोड में निम्नलिखित ऑब्जेक्ट्स का उपयोग करके, मैं 3 अलग-अलग प्रकार के इटरेटेट का उपयोग करूंगा जो बदले में वर्णन करेंगे।
let mary = {
name: 'mary',
gender: 'female',
age: 25,
job: {
title: 'teacher',
salary: 10000
}
}
let dave = {
name: 'dave',
gender: 'male',
age: 27
}
let oswald = {
name: 'oswald',
gender: 'male',
age: 25
}
let people = [mary, dave, oswald];
1. संपत्ति
iteratee iteratee एक तार के साथ कहा जाता है, यह एक समारोह है कि आपूर्ति की स्ट्रिंग के प्रमुख के साथ एक वस्तु की संपत्ति वापस आ जाएगी देता है।
उदा
let getAge = _.iteratee('age');
क्या हम यहाँ के साथ अंत एक समारोह है कि एक वस्तु की उम्र संपत्ति रिटर्न है। कुछ के समान:
function getAge(object){
return object['age'];
}
तो हम लोगों की उम्र वापस जाने के लिए getAge
उपयोग कर सकते हैं:
let marysage = getAge(mary);
let davesage = getAge(dave);
स्ट्रिंग भी एक संपत्ति के लिए एक रास्ता हो सकता है:
let jobtitle = _.iteratee('job.title');
2। मैट्सटेर
जब iteratee किसी ऑब्जेक्ट के साथ कहा जाता है, तो यह लौटाता है एक वस्तु (वास्तविक या गलत लौटाती है) यदि किसी ऑब्जेक्ट के पास दिए गए मान के साथ मिलान करने वाली कुंजी है।
उदा
let is25 = _.iteratee({age: 25});
let isMary25 = is25(mary);
let isDave25 = is25(dave);
मैचों में यह एक ही संपत्ति तक ही सीमित नहीं है। यह कई कुंजी और मूल्यों ले जा सकते हैं:
let isFemaleAged25 = _.iteratee({gender: 'female', age: 25});
3. संपत्ति iteratee
यह iteratee मैचों के समान है, लेकिन जब मेल iteratee कुंजी और मूल्यों की एक सरणी के साथ कहा जाता है बन जाता है।
is25
समारोह ऊपर बनाया भी तो की तरह बनाया जा सकता है:,
let is25 = _.iteratee(['age', 25]);
गुण भी एक प्रमुख करने के लिए एक रास्ता हो सकता है जो कुछ मैचों का उपयोग नहीं किया जा सकता है iteratee:
let isTeacherAged25 = _.iteratee(['age', 25, 'job.title', 'teacher'])
iteratees का उपयोग
अधिकांश समय आप सीधे iteratee फ़ंक्शन को कॉल नहीं करेंगे। जब आप एक फ़ंक्शन को कॉल करते हैं तो लोडाश आंतरिक रूप से फ़ंक्शन का उपयोग करेगा जो एक इटेटेट ले सकता है।
उदा
let names = _.map(people, 'name'); // => ['mary', 'dave', 'oswald']
यहाँ lodash स्ट्रिंग name
साथ iteratee
कॉल और समारोह के रूप में इसका इस्तेमाल करते हैं नक्शा कॉल करने के लिए होगा।
let peopleAged25 = _.filter(people, {age: 25 }); // mary and oswald
यहाँ lodash वस्तु {age: 25}
साथ iteratee
कॉल और समारोह लोग संग्रह फिल्टर करने के लिए के रूप में यह प्रयोग करेंगे।
एक संक्षिप्त उत्तर और स्पष्टीकरण के लिए धन्यवाद। – johnwick0831
भयानक उत्तर। बहुत विस्तृत –