জাভাস্ক্রিপ্টের আইএফ স্টেটমেন্টে ওআর শর্তটি কীভাবে ব্যবহার করবেন?


108

আমি বুঝতে পারি যে জাভাস্ক্রিপ্টে আপনি লিখতে পারেন:

if (A && B) { do something }

তবে আমি কীভাবে একটি ওআর বাস্তবায়ন করব:

if (A OR B) { do something }

2
এটি jQuery নির্দিষ্ট নয় by এটি কেবল একটি জাভাস্ক্রিপ্ট লাইব্রেরি। আপনার প্রশ্ন জাভাস্ক্রিপ্ট নির্দিষ্ট।
বালুসসি

2
@ বালুসসি আজকাল তারা কার্যত সমার্থক: পি
ডলবজ

1
@ ডলবজ পিফুও একমত নন !! : পি
ওয়েব-তারাগুলি

1
২০১০ সাল থেকে @ ওয়েব-তারকাদের অনেক কিছু পরিবর্তন হয়েছে :)
ডলবজ

@ ডলবজ মিমি, ওফ ...: পি এবং আমি এখনও ২০১০ সাল থেকে কিছুই জানি না।
ওয়েব-তারকারা

উত্তর:



84

যে টুকুনি ||এছাড়াও ফিরে আসবে trueউভয় Aএবং Bহয় true

জাভাস্ক্রিপ্টে, আপনি এ খুঁজছেন করছি Aবা B, কিন্তু না উভয় , আপনার মত কিছু করতে প্রয়োজন হবে:

if( (A && !B) || (B && !A) ) { ... }

"বাকী লক্ষণীয় যে || সত্যই ফিরে আসবে যদি EITHER var A or var B সত্য হয়" এর প্রথম বাক্যটি হওয়া উচিত নয় ?? আপনি যা উল্লেখ করেছেন তা হ'ল (সত্য | সত্য) = সত্য। যা সাধারণ এবং বোধগম্য।
পুণিথ রাজ

10
(এএন্ডএন্ড! বি) || (বিএন্ডএন্ড! এ) এ-বি এর সাথে প্রতিস্থাপন করা যেতে পারে যা অনেক মসৃণ

1
@ মারপ্লিক্স: বেশিরভাগ ক্ষেত্রে হ্যাঁ, তবে 32 বিট সীমার বাইরে নম্বরগুলি ব্যর্থ হতে পারে। (Math.pow(2,32)-1) ^ 0; // -1 (success)...Math.pow(2,32) ^ 0; // 0 (failure)

if (A ? !B : B) {...একটি সংক্ষিপ্ত বিকল্প হবে যার 32-বিটের সীমাবদ্ধতা থাকবে না। অথবা হতে পারেif (!A != !B) {...

1
@ স্পিন্ট কেন সত্য বা মিথ্যা 32 বিট সীমার বাইরে থাকবে তাই সেগুলি কেবল 0 বা 1 এবং বিটিডব্লু যদি আপনি সংখ্যাগুলি তুলনা করেন তবে বুলিয়ান মান পেতে !! এন ব্যবহার করুন।




9

এখানে আমার উদাহরণ:

if(userAnswer==="Yes"||"yes"||"YeS"){
 console.log("Too Bad!");   
}

এটি বলে যে উত্তরটি হ্যাঁ হ্যাঁ বা ইয়েএসের চেয়ে একই জিনিস হলে ঘটবে


1
আপনার উত্তর কোন বিদ্যমান উত্তর উপর উন্নতি করে? এটি একটি নির্দিষ্ট ব্যবহারের মামলা?
ইমেকাস

এটা কি কাজ? আমি এর মতো কোড করি তবে এটি সিনট্যাক্স ত্রুটি। আমি এই মত কোড। if (name === 'Jam' || name === 'Jem' || name == 'Jum')
পেঙ্গুইন

7
হ্যাঁ, আমি আপনাকে প্রতিটি প্রতিবেদন পৃথকভাবে অন্তর্ভুক্ত করতে হবে এমন কঠিন উপায়টি আবিষ্কার করেছি। আমি if (number === 1||2||3)মত কাজ করেছিলাম while (true); দ্বিতীয় এবং তৃতীয় শর্ত জিজ্ঞাসা করে যে 2 2 হয় এবং / অথবা 3 3 হয় always চরিত্রের সংখ্যা হ্রাস করার জন্য আমার পরিকল্পনা রয়েছে। বক্তব্যগুলিকে প্রথম বন্ধনে রেখে দিলেও পড়া সহজ হয়।
টিমস্মিথ-আয়ারডলফ

3
.ToLowerCase () ব্যবহারের পরিবর্তে সমস্ত ভিন্ন কেসের রূপগুলি পরীক্ষা করার পরিবর্তে আরও অনেক ভাল।
অ্যাকোয়াএলেক্স

1
var পছন্দ = প্রম্পট ("আপনি কি রক, কাগজ বা কাঁচি নির্বাচন করেন?")। টুলওয়ারকেস (); if (ইউজারচয়েস! = ("কাগজ" || "রক" || "কাঁচি")) so কনসোল.লগ ("অবৈধ চয়েস তৈরি"); }
অ্যাকোয়াএলেক্স

1

কেউ নিয়মিত এক্সপ্রেশনও ব্যবহার করতে পারেন :

var thingToTest = "B";
if (/A|B/.test(thingToTest)) alert("Do something!")

এখানে নিয়মিত প্রকাশের উদাহরণ রয়েছে:

var myString = "This is my search subject"
if (/my/.test(myString)) alert("Do something here!")

এটি ভ্যারিয়েবল "মাই স্ট্রিং" এর মধ্যে "আমার" সন্ধান করবে। আপনি "মাই স্ট্রিং" ভেরিয়েবলের জায়গায় সরাসরি একটি স্ট্রিং প্রতিস্থাপন করতে পারেন।

একটি যুক্ত বোনাস হিসাবে আপনি কেস সংবেদনশীল "i" এবং গ্লোবাল "জি" পাশাপাশি অনুসন্ধানে যুক্ত করতে পারেন।

var myString = "This is my search subject"
if (/my/ig.test(myString)) alert("Do something here");


মজাদার. নথিপত্র?
কেন শার্প

0

এরপরে OR(||)শর্ত ও স্বরলিপি থাকলে অপারেটরটি ব্যবহার করার জন্য আরও একটি শর্ত বিবৃতি প্রয়োজন ||

if(condition || condition){ 
   some stuff
}

1
আপনি কেন একই উত্তর দিয়ে পুরানো প্রশ্নের উত্তর দিচ্ছেন?
কেন শার্প


0

আমরা যদি নিয়মিত এক্সপ্রেশন উল্লেখ করতে যাচ্ছি, আমরা পাশাপাশি switchবিবৃতি উল্লেখ করতে পারে ।

var expr = 'Papayas';
switch (expr) {
  case 'Oranges':
    console.log('Oranges are $0.59 a pound.');
    break;
  case 'Mangoes':
  case 'Papayas': // Mangoes or papayas
    console.log('Mangoes and papayas are $2.79 a pound.');
    // expected output: "Mangoes and papayas are $2.79 a pound."
    break;
  default:
    console.log('Sorry, we are out of ' + expr + '.');
}


-1

শুধু ব্যবহার ||

if (A || B) { your action here }

দ্রষ্টব্য: স্ট্রিং এবং সংখ্যা সহ। এটা আরও জটিল।

পরীক্ষা করে দেখুন এই গভীর understading জন্য:


7
এই প্রশ্নের উত্তর চার বছর আগে দেওয়া হয়েছে। আপনার উত্তর কোন বিদ্যমান উত্তর উপর উন্নতি করে?
ফ্রেমবট

@ জোফ্রেমবাচ: না, আমি কেবল একটি পরিষ্কার উত্তর দিতে চাই :)
হাওতাং
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.