জাভাস্ক্রিপ্টে যদি একটি বিবৃতিতে একাধিক শর্তাদি নির্দিষ্ট করতে হয়


88

এই বা এইটি হলে আমি দুটি শর্তের উল্লেখ করব

if (Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

উত্তর:


160

যদি বিবৃতিটি পছন্দ করে তবে কেবল তাদের প্রধান বন্ধনীটির মধ্যে এগুলি যুক্ত করুন

if ((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {
            PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

যৌক্তিকভাবে এটি আরও ভাল উপায়ে আবারও লেখা যায়! এর ঠিক একই অর্থ রয়েছে

if (Type == 2 && (PageCount == 0 || PageCount == '')) {

4
কনকুর শর্তসাপেক্ষে একটি খোলার কোঁকড়া বন্ধনীও ছিল না। যে সাহায্য করতে পারে না।
তাস

27

এটি করার বিকল্প উপায় এখানে।

const conditionsArray = [
    condition1, 
    condition2,
    condition3,
]

if (conditionsArray.indexOf(false) === -1) {
    "do somthing"
}

অথবা ES6

if (!conditionsArray.includes(false)) {
   "do somthing"
}

19

আমি বর্তমানে প্রচুর পরিমাণের শর্তাদি যাচাই করছি, যা 4 শর্তের বাইরে আই-স্টেটমেন্ট পদ্ধতি ব্যবহার করে অকার্যকর হয়ে যায়। কেবলমাত্র ভবিষ্যতের দর্শকদের জন্য একটি পরিষ্কার দেখার বিকল্প ভাগ করে নেওয়ার জন্য ... যা সুন্দরভাবে স্কেল করে আমি ব্যবহার করি:

var a = 0;
var b = 0;

a += ("condition 1")? 1 : 0; b += 1;
a += ("condition 2")? 1 : 0; b += 1;
a += ("condition 3")? 1 : 0; b += 1;
a += ("condition 4")? 1 : 0; b += 1;
a += ("condition 5")? 1 : 0; b += 1;
a += ("condition 6")? 1 : 0; b += 1;
// etc etc

if(a == b) {
    //do stuff
}

4
আমি কোন মন্তব্য দেখতে পাচ্ছি না যে এটি বুদ্ধিমান অনুশীলন, তাই আমি মনে করি এটি ব্যবহার করা নিরাপদ। ধন্যবাদ!
কাজিনকোকেইন

4
এটি উল্লেখযোগ্য এবং উল্লেখ করার মতো যে এটি সমস্ত কাজ করে যদি সমস্ত শর্ত সত্য হিসাবে মূল্যায়ন করতে হয়। অন্য কথায়, এটি লেখার অন্য উপায় ANDতবে না OR
মার্ক ক্র্যামার


5

কখনও কখনও আপনি স্ট্যাটাস আরও সংযুক্ত করার কৌশল খুঁজে পেতে পারেন।

উদাহরণস্বরূপ পছন্দ করুন:

0 + 0 = 0

এবং

"" + 0 = 0

তাই

PageCount == 0
PageCount == ''

যেমন লেখা যেতে পারে:

PageCount+0 == 0

জাভাস্ক্রিপ্ট মধ্যে 0যেমন শুধু ভাল হিসাবে falseইনভার্টারিং !এটা আবর্তিত হবে 0মধ্যেtrue

!PageCount+0

একটি বিশাল মোট জন্য:

if ( Type == 2 && !PageCount+0 ) PageCount = elm.value;

4
আপনি যদি নিজের কোডটি যথাসম্ভব সংক্ষিপ্ত করতে চান তবে এটি অনেকগুলি ভাল অনুশীলনের বিরুদ্ধে চলে। আপনার কোডটি পঠনযোগ্য রাখুন। এই উত্তরটি গুপ্ত এবং পরবর্তী ব্যক্তি আপনার কোডটির দিকে তাকিয়ে কিছু ভুল করার জন্য প্ররোচিত করবে।
বেলভেডেরেফ

4
if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == '')) {

        PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

এটি সম্ভাব্য সমাধানগুলির মধ্যে একটি হতে পারে, সুতরাং 'বা' হয় || না !!


3

এগুলি অতিরিক্ত জুটি প্যারেন্সে আবদ্ধ করুন এবং আপনি যেতে ভাল।

if((Type == 2 && PageCount == 0) || (Type == 2 && PageCount == ''))
    PageCount= document.getElementById('<%=hfPageCount.ClientID %>').value;
}

-1
function go(type, pageCount) {
    if ((type == 2 && pageCount == 0) || (type == 2 && pageCount == '')) {
        pageCount = document.getElementById('<%=hfPageCount.ClientID %>').value;
    }
}

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