চলকটি 2 দ্বারা বিভাজ্য কিনা তা সন্ধান করুন


128

কোনও ভেরিয়েবল 2 দিয়ে বিভাজ্য হলে আমি কীভাবে তা আবিষ্কার করব? তদ্ব্যতীত আমার যদি এটি হয় তবে একটি ফাংশন করতে হবে এবং এটি না থাকলে একটি ভিন্ন ফাংশন করতে হবে।


6
@ সাইলেন্টগোস্ট: মানুষ কি আজকাল সত্যই jQuery হোম ওয়ার্ক পাবে?
অ্যান্ডি ই

4
অ্যান্ডি সম্পর্কে জানেন না, তবে লোকেরা অবশ্যই তাদের ট্যাগগুলিকে গণ্ডগোল করতে জানে।
সাইলেন্টগোস্ট

2
@OP: jQuery হ'ল জাভাস্ক্রিপ্টে আপনি যা করতে পারেন তার উত্তর নয়;)
মাইক অ্যাটলাস

8
@ মাইক ভুল! তার জন্য আপনার jQuery বেসিক পাটিগণিত প্লাগইন ব্যবহার করা উচিত! যাওয়ার পথে ...: P (Irony)
পাবলো ক্যাবেরারা

উত্তর:


313

মডুলাস ব্যবহার করুন:

// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0  

30
এটা ভালবাসা! সহজ, সহজ, এবং আপনি আমাকে প্রশ্ন জিজ্ঞাসা করার মতো বোকা মনে করেন নি ... যা (ইতিমধ্যে জানে না এমন সমস্ত অন্যান্যদের জন্য) নতুন jQuery / জাভাস্ক্রিপ্ট বিকাশকারীদের কাছে একটি বড় বিষয়।
সাদমিক্রোভেভ

6
@ স্যাডমিকোওয়েভ: আমরা সকলেই কিছুটা সময় শুরুতে শুরু করি। আসল সমস্যাটি হ'ল সেখানে তথ্যমূলক টিউটোরিয়ালের অভাব। পরম শুরুর জন্য টিউটোরিয়ালগুলির জাভাস্ক্রিপ্ট এবং jQuery এর মধ্যে পার্থক্য স্পষ্ট করা উচিত এবং তারা কেবল jQuery স্টাফের মধ্যে সরাসরি ডুব দেয়।
অ্যান্ডি ই

3
আমি প্রথম যে কোডটি লিখেছিলাম তা ছিল জাভাস্ক্রিপ্টে এবং এটি ছিল "স্বাগত" সতর্কতা বক্স পপআপ। বছরটি ছিল 1997 এবং এটি ছিল আমার জিওসিটিস হোমপেজে। আমরা অবশ্যই কোথাও শুরু করি (কিছু প্রথাগত প্রশিক্ষণও সাহায্য করে)।
মাইক অ্যাটলাস

এটি হওয়া উচিত নয়: পরিবর্তনশীল% 2 == 0 আমি ভুল হলে আমাকে শিক্ষিত করুন।
শন ট্যাঙ্ক গারভে

28

গুরুতরভাবে, বিজোড় / এমনকি চেকগুলির জন্য কোনও jQuery প্লাগইন নেই?

ঠিক আছে, আর নয় - প্রদত্ত নম্বরটি বিজোড় / সমান কিনা তা পরীক্ষা করার জন্য এমআইটি লাইসেন্সের অধীনে একটি জিকুয়ের প্লাগইন "ওভেন" প্রকাশ করছে।

উত্স কোডটি http://jsfiddle.net/7HQNG/ এও উপলব্ধ

পরীক্ষামূলক স্যুটগুলি http://jsfiddle.net/zeuRV/ এ উপলব্ধ

(function() {
    /*
     * isEven(n)
     * @args number n
     * @return boolean returns whether the given number is even
     */
    jQuery.isEven = function(number) {
        return number % 2 == 0;
    };

    /* isOdd(n)
     * @args number n
     * @return boolean returns whether the given number is odd
     */
    jQuery.isOdd = function(number) {
        return !jQuery.isEven(number);
    };
})();​

7
কি দারুন. মজার, কিন্তু আপনি কি বুঝতে পারেন যে কেউ এটি ব্যবহার করবে?
টিম ডাউন

7
@ টিম ডাউন: আমি ভাবছি কেউ যদি সেই jQuery বেসিক পাটিগণিত প্লাগইন ব্যবহার করে ? তালিকার পাশে, একটি jQuery এলোমেলো নম্বর জেনারেটর ;-)
অ্যান্ডি ই

9
ভেরিয়েবল, ফাংশন ইত্যাদির মতো জিকুয়েরি অনেক কিছু করতে পারে, যা এখনও কাঁচা জাভাস্ক্রিপ্ট দিয়ে চলছে । কেবল অবিশ্বাস্য ;-)
অনুরাগ

4
@ অ্যান্ডি - সেই লিঙ্কটিতে আরওএফএল এবং এসও চিত্র - doxdesk.com/img/updates/20091116-so-large.gif আমার ধারণা "jQuery ব্যবহার করুন" উত্তরটি এখন জাভাস্ক্রিপ্টে সর্বকালের উচ্চতায় পৌঁছে যাবে :)
অনুরাগ

আপনার কাছে কি শব্দ নথির ব্যাখ্যা আছে আমাকে ব্যবহার করুন? @ অনুরাগ
টোড

13

আপনার jQuery দরকার নেই। কেবল জাভাস্ক্রিপ্টের মডুলো অপারেটর ব্যবহার করুন ।


5
doxdesk.com/img/updates/20091116-so-large.gif , আপনারা যারা বুঝতে পারবেন না যে @ অ্যালেক্সকোপ্লান কী কথা বলছেন
মার্কাসোফটওয়্যার

11

আপনি এই জাতীয় মডেলাস অপারেটরটি ব্যবহার করতে পারেন, jQuery এর প্রয়োজন নেই। alertsআপনার কোড সহ কেবলমাত্র এটি প্রতিস্থাপন করুন ।

var x = 2;
if (x % 2 == 0)
{
  alert('even');
}
else
{
  alert('odd')
}

11

আপনি এটি আরও ভাল উপায়ে করতে পারেন (মডুলো অপারেটরের তুলনায় 50% পর্যন্ত দ্রুত):

বিজোড়: x এবং 1 এমনকি:! (x এবং 1)

তথ্যসূত্র: উচ্চ পারফরম্যান্স জাভাস্ক্রিপ্ট, ৮ -> বিটওয়াইস অপারেটর


এটি একটি দুর্দান্ত, আসলে সেরা উত্তর। তবে এর জন্য বিটওয়াইস অপারেটরদের জ্ঞান প্রয়োজন ..
শন ট্যাঙ্ক গারভে


4
var x = 2;
x % 2 ? oddFunction() : evenFunction();

আমি মনে করি এই কোডটি ভুল / ত্রুটিযুক্ত। আপনি ভেরিয়েবল এক্সের জন্য একটি মান ঘোষণা করছেন (বিশেষত এক্সটিকে সর্বদা 2 সংখ্যার সমতুল্য করা) .. প্রথম ত্রুটি। তারপরে, আপনার পরবর্তী লাইনটি কেবলমাত্র যদি ভেরিয়েবল এক্সটিকে 2 দ্বারা বিভক্ত করা যায়, তবে বিজড়িত কাজটি করুন, অন্যথায় / যদি-এমনকি এমনকি ফাংশনটি না করেন ... এই পদ্ধতির সাথে সমস্যাটি হ'ল এটি সর্বদা এমনকি ফাংশন তৈরি করবে - কখনই বিজোড় কাজটি হবে না - এটি অন্য সমস্যা / ত্রুটি। আমি ভুল হলে আমাকে শিক্ষিত করুন।
শন ট্যাঙ্ক গারভে


2

আশাকরি এটা সাহায্য করবে.

let number = 7;

if(number%2 == 0){      

  //do something;
  console.log('number is Even');  

}else{

  //do otherwise;
  console.log('number is Odd');

}

এখানে একটি সম্পূর্ণ ফাংশন যা আপনার ইনপুটটির সমতা কনসোলে লগ করবে।

const checkNumber = (x) => {
  if(number%2 == 0){      

    //do something;
    console.log('number is Even');  

  }else{

    //do otherwise;
    console.log('number is Odd');

  }
}

1

আপনার কনসোলে নিম্নলিখিত কোডটি লিখুন:

var isEven = function(deep) {

  if (deep % 2 === 0) {
        return true;  
    }
    else {
        return false;    
    }
};
isEven(44);

দয়া করে নোট করুন: প্রবেশ করা সংখ্যাটি অন্যথায় মিথ্যা হলে এটি সত্য হবে return


1
উত্তরের জন্য ধন্যবাদ তবে এটি মূলত গৃহীত উত্তরের মতোই, আপনি কেবল এটি একটি ফাংশনে আবদ্ধ করেছেন। যাইহোক, অবদানের জন্য ধন্যবাদ
সাদমিক্রোভে 15

1

মডুলাস ব্যবহার করুন, কিন্তু .. উপরের স্বীকৃত উত্তরটি কিছুটা ভুল। আমি বিশ্বাস করি কারণ এক্স জাভাস্ক্রিপ্টে একটি সংখ্যা টাইপ যে অপারেটরটি ট্রিপল অ্যাসাইনমেন্টের পরিবর্তে ডাবল অ্যাসাইনমেন্ট হওয়া উচিত, যেমন:

x % 2 == 0

আপনার ভেরিয়েবলগুলিও ঘোষণা করতে ভুলবেন না, সুতরাং স্পষ্টতই সেই লাইনটি এককভাবে লেখা যায় না। :-) সাধারণত ifবিবৃতি হিসাবে ব্যবহৃত হয় । আশাকরি এটা সাহায্য করবে.


-2

অ্যারে = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

অ্যারে.ইচ {| এক্স | x রাখে x% 2 == 0}

রুবি: ডি

2 4 6 8 10


1
আপনি 4CHan থেকে ঘোরাঘুরি?
টড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.