ইন্ট্রো
কলেজে আমার সময় থেকেই, আমি জাভা, জাভাস্ক্রিপ্ট, প্যাসকেল, এএবিপি , পিএইচপি, প্রগতি 4 জিএল, সি / সি ++ এবং সম্ভবত অন্য কয়েকটি ভাষায় আমি এখনই ভাবতে পারি না বলে প্রোগ্রাম করেছি।
যদিও তাদের সকলের নিজস্ব ভাষাতাত্ত্বিক আইডিয়োসিঙ্ক্রিজি রয়েছে, এই ভাষার প্রত্যেকটিরই অনেকগুলি একই বেসিক ধারণাটি ভাগ করা আছে। এই ধরণের ধারণাগুলিতে প্রক্রিয়া / ফাংশন IF
, FOR
স্টেটমেন্টস, WHILE
-লুপস এবং -লুপগুলি অন্তর্ভুক্ত রয়েছে।
একটি traditional for
তিহ্যবাহী-লুপ
একটি traditional for
তিহ্যবাহী লুপের তিনটি উপাদান রয়েছে:
- সূচনা: লুক ব্লকটি প্রথমবার কার্যকর হওয়ার আগে সম্পাদন করা হয়েছিল
- শর্ত: লুপ ব্লক কার্যকর হওয়ার আগে প্রতিবার একটি শর্ত পরীক্ষা করে এবং মিথ্যা হলে লুপটি ছেড়ে দেয়
- চিন্তাভাবনা: লুপ ব্লক কার্যকর হওয়ার পরে প্রতিবার সঞ্চালিত হয়
এই তিনটি উপাদান একে অপরের থেকে ;
প্রতীক দ্বারা পৃথক করা হয় । এই তিনটি উপাদানের প্রত্যেকটির জন্য সামগ্রীগুলি alচ্ছিক, যার অর্থ নিম্নলিখিতটি সর্বাধিক ন্যূনতম for
লুপটি সম্ভব:
for (;;) {
// Do stuff
}
অবশ্যই এটি চালানো বন্ধ করার জন্য আপনাকে সেই- লুপের মধ্যে একটি if(condition === true) { break; }
বা if(condition === true) { return; }
অন্য কোথাও অন্তর্ভুক্ত করতে হবে for
।
সাধারণত, যদিও সূচনাটি সূচক ঘোষণার জন্য ব্যবহৃত হয়, শর্তটি সেই সূচকে ন্যূনতম বা সর্বাধিক মানের সাথে তুলনা করতে ব্যবহৃত হয়, এবং উত্তরোত্তরটি সূচককে বাড়ানোর জন্য ব্যবহৃত হয়:
for (var i = 0, length = 10; i < length; i++) {
console.log(i);
}
for
একটি অ্যারের মাধ্যমে লুপ করতে একটি traditional তিহ্যগত লুপ ব্যবহার করে
অ্যারের মাধ্যমে লুপ করার traditionalতিহ্যগত উপায়টি হ'ল:
for (var i = 0, length = myArray.length; i < length; i++) {
console.log(myArray[i]);
}
অথবা, আপনি যদি পিছনের দিকে লুপ করতে পছন্দ করেন তবে আপনি এটি করুন:
for (var i = myArray.length - 1; i > -1; i--) {
console.log(myArray[i]);
}
তবে বিভিন্ন সম্ভাবনা রয়েছে যেমন উদাহরণস্বরূপ:
for (var key = 0, value = myArray[key], length = myArray.length; key < length; value = myArray[++key]) {
console.log(value);
}
... বা এই ...
var i = 0, length = myArray.length;
for (; i < length;) {
console.log(myArray[i]);
i++;
}
... বা এটি:
var key = 0, value;
for (; value = myArray[key++];){
console.log(value);
}
যেটি সবচেয়ে ভাল কাজ করে তা হ'ল মূলত উভয় ব্যক্তিগত স্বাদ এবং আপনি ব্যবহার করছেন এমন নির্দিষ্ট ব্যবহারের ক্ষেত্রে।
মনে রাখবেন যে এই সমস্ত পরিবর্তনের প্রতিটি খুব পুরানো সহ সমস্ত ব্রাউজার দ্বারা সমর্থিত!
একজন while
লুপ
for
লুপের একটি বিকল্প হ'ল while
লুপ। একটি অ্যারের মাধ্যমে লুপ করতে, আপনি এটি করতে পারেন:
var key = 0;
while(value = myArray[key++]){
console.log(value);
}
Traditionalতিহ্যবাহী for
লুপগুলির মতো ,while
লুপগুলি এমনকি ব্রাউজারগুলির সবচেয়ে পুরানো দ্বারা সমর্থিত।
এছাড়াও, নোট করুন যে প্রতিটি সময় লুপটি একটি for
লুপ হিসাবে আবার লিখতে পারে । উদাহরণস্বরূপ, উপরে while
লুপটি এই- লুপের মতো ঠিক একইভাবে আচরণ করে for
:
for(var key = 0; value = myArray[key++];){
console.log(value);
}
For...in
এবং for...of
জাভাস্ক্রিপ্টে, আপনি এটিও করতে পারেন:
for (i in myArray) {
console.log(myArray[i]);
}
এটি যত্ন সহ ব্যবহার করা উচিত, কারণ এটি for
সমস্ত ক্ষেত্রে traditional তিহ্যবাহী লুপের মতো আচরণ করে না এবং এর সম্ভাব্য পার্শ্ব-প্রতিক্রিয়াগুলিও বিবেচনা করা দরকার। দেখুন কেন অ্যারে পুনরাবৃত্তি সহ "for ... in" ব্যবহার করা খারাপ ধারণা?বিস্তারিত জানার জন্য.
এর বিকল্প হিসাবে for...in
, এখন এর জন্যও রয়েছে for...of
। নিম্নলিখিত উদাহরণটি for...of
লুপ এবং লুপের মধ্যে পার্থক্য দেখায় for...in
:
var myArray = [3, 5, 7];
myArray.foo = "hello";
for (var i in myArray) {
console.log(i); // logs 0, 1, 2, "foo"
}
for (var i of myArray) {
console.log(i); // logs 3, 5, 7
}
অতিরিক্তভাবে, আপনাকে বিবেচনা করতে হবে যে ইন্টারনেট এক্সপ্লোরারের কোনও সংস্করণ সমর্থন করে না for...of
( এজ 12+ প্রযোজ্য) এবং এর for...in
জন্য কমপক্ষে ইন্টারনেট এক্সপ্লোরার 10 প্রয়োজন।
Array.prototype.forEach()
for
-লুপগুলির বিকল্প Array.prototype.forEach()
, যা নিম্নলিখিত সিনট্যাক্স ব্যবহার করে:
myArray.forEach(function(value, key, myArray) {
console.log(value);
});
Array.prototype.forEach()
সমস্ত আধুনিক ব্রাউজারগুলি পাশাপাশি ইন্টারনেট এক্সপ্লোরার 9 এবং তারপরে সমর্থন করে।
লাইব্রেরি
অবশেষে, অনেক ইউটিলিটি লাইব্রেরির নিজস্ব foreach
বৈচিত্র রয়েছে। আফাইক, সবচেয়ে জনপ্রিয় তিনটি হ'ল:
jQuery.each()
, jQuery এ :
$.each(myArray, function(key, value) {
console.log(value);
});
_.each()
, অ্যান্ডস্কোর.জেএস-এ :
_.each(myArray, function(value, key, myArray) {
console.log(value);
});
_.forEach()
, লোদাশ.জেএস এ :
_.forEach(myArray, function(value, key) {
console.log(value);
});