আমাকে সবসময় শেখানো হয়েছে যে কোনও ifঅবস্থায় পার্শ্ব প্রতিক্রিয়াগুলি খারাপ are আমি কি মানে হয়;
if (conditionThenHandle()) {
// do effectively nothing
}
... উল্টোদিকে;
if (condition()) {
handle();
}
... এবং আমি তা বুঝতে পেরেছি, এবং আমার কলেজগুলি খুশী কারণ আমি এটি করি না, এবং আমরা সবাই শুক্রবার 17:00 এ বাড়িতে যাই এবং প্রত্যেকের একটি আনন্দময় উইকএন্ড হয়।
এখন, ECMAScript5 চালু মত পদ্ধতি every()এবং some()করতে Array, এবং আমি তাদের খুব দরকারী খুঁজে। এগুলির চেয়ে তারা আরও পরিষ্কার for (;;;), আপনাকে অন্য একটি সুযোগ দেয় এবং ভেরিয়েবলের মাধ্যমে উপাদানটি অ্যাক্সেসযোগ্য করে তোলে।
তবে যখন ইনপুট যাচাই, আমি আরো-প্রায়ই তুলনায়-না নিজেকে ব্যবহার খুঁজে every/ someঅবস্থায় ইনপুট যাচাই করতে, তারপর ব্যবহার every/ some আবার শরীরে একটি ব্যবহারযোগ্য মডেল মধ্যে ইনপুট রূপান্তর করতে;
if (input.every(function (that) {
return typeof that === "number";
})) {
input.every(function (that) {
// Model.findById(that); etc
}
} else {
return;
}
... যখন আমি যা করতে চাই তা হ'ল;
if (!input.every(function (that) {
var res = typeof that === "number";
if (res) {
// Model.findById(that); etc.
}
return res;
})) {
return;
}
... যা আমাকে ifখারাপ অবস্থার মধ্যে পার্শ্ব-প্রতিক্রিয়া দেয় ।
তুলনায়, এই কোডটি একটি পুরানো সাথে দেখা হবে for (;;;);
for (var i=0;i<input.length;i++) {
var curr = input[i];
if (typeof curr === "number") {
return;
}
// Model.findById(curr); etc.
}
আমার প্রশ্নগুলি হ'ল:
- এটি অবশ্যই একটি খারাপ অভ্যাস?
- আমি কি (ভুল | আব) ব্যবহার করছি
someএবংevery( আমি কি এর জন্য একটি ব্যবহার করা উচিতfor(;;;)?) - একটি ভাল পদ্ধতির আছে কি?
some করতে চাই , যদি আমি ব্যবহার করি তবে আমি everyসেই সমস্ত উপাদানগুলির জন্য কিছু করতে চাই ... someএবং everyআমাকে সেই তথ্যটি অ্যাক্সেস করতে দেবে না, তাই হয় আমি পারি না এগুলি ব্যবহার করুন, বা আমার পার্শ্ব প্রতিক্রিয়া যুক্ত করতে হবে।
someআমার মধ্যে ifশর্ত নির্ধারণ অ্যারের মধ্যে একটি নির্দিষ্ট উপাদান একটি নির্দিষ্ট সম্পত্তি, 9/10 আমি কাজ চালানোর জন্য প্রয়োজন প্রদর্শণ কিনা উপর আমার যে উপাদান ifশরীর; এখন, someআমাকে বলুন না যা উপাদানের সম্পত্তি (ঠিক "এক করেনি") বিকশিত, আমি হয় ব্যবহার করতে পারেন some আবার শরীরের (হে (2n)), বা আমি শুধু অপারেশন ভিতরে সম্পাদন করতে পারবেন যদি শর্ত ( যা খারাপ, কারণ এটি মাথার মধ্যে একটি পার্শ্ব-প্রতিক্রিয়া)।
every।