আপনি যদি আন্ডারস্কোরের সাথে থাকতে চান তবে আপনার অনুমানের কাজটি আরও নমনীয় হতে পারে, এখানে 2 টি ধারণা রয়েছে are
পদ্ধতি 1
যেহেতু প্রিডিকেট _.findকোনও উপাদানের মান এবং সূচক উভয়ই গ্রহণ করে, তাই আপনি সূচকটি পুনরুদ্ধার করতে পার্শ্ব প্রতিক্রিয়া ব্যবহার করতে পারেন, এটির মতো:
var idx;
_.find(tv, function(voteItem, voteIdx){
if(voteItem.id == voteID){ idx = voteIdx; return true;};
});
পদ্ধতি 2
আন্ডারস্কোর উত্সের দিকে তাকানো, এভাবেই _.findবাস্তবায়ন করা হয়:
_.find = _.detect = function(obj, predicate, context) {
var result;
any(obj, function(value, index, list) {
if (predicate.call(context, value, index, list)) {
result = value;
return true;
}
});
return result;
};
এই একটি করতে findIndexফাংশন, কেবল লাইন প্রতিস্থাপন result = value;সঙ্গে result = index;এই প্রথম পদ্ধতি হিসাবে একই ধারণা। আমি এটি উল্লেখ করতে এটি অন্তর্ভুক্ত করেছি যে আন্ডারস্কোর পাশাপাশি প্রয়োগ করতে পার্শ্ব প্রতিক্রিয়া ব্যবহার করে _.find।