ฉันจะทราบได้อย่างไรว่าตัวแปรหารด้วย 2 ได้หรือไม่ นอกจากนี้ฉันต้องทำฟังก์ชันถ้าเป็นและทำหน้าที่อื่นถ้าไม่ใช่
ฉันจะทราบได้อย่างไรว่าตัวแปรหารด้วย 2 ได้หรือไม่ นอกจากนี้ฉันต้องทำฟังก์ชันถ้าเป็นและทำหน้าที่อื่นถ้าไม่ใช่
คำตอบ:
ใช้โมดูลัส:
// Will evaluate to true if the variable is divisible by 2
variable % 2 === 0
อย่างจริงจังไม่มีปลั๊กอิน jQuery สำหรับการตรวจสอบคี่ / คู่?
ไม่ใช่อีกต่อไป - ปล่อย "Oven" ปลั๊กอิน jQuery ภายใต้ใบอนุญาต MIT เพื่อทดสอบว่าตัวเลขที่ระบุเป็นคี่ / คู่หรือไม่
ซอร์สโค้ดมีอยู่ที่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);
};
})();
คุณไม่จำเป็นต้องใช้ jQuery เพียงใช้ตัวดำเนินการModulo ของ JavaScript
คุณสามารถใช้ตัวดำเนินการโมดูลัสแบบนี้ได้โดยไม่จำเป็นต้องใช้ jQuery เพียงแค่แทนที่alerts
ด้วยรหัสของคุณ
var x = 2;
if (x % 2 == 0)
{
alert('even');
}
else
{
alert('odd')
}
คุณสามารถทำได้ดีกว่า (เร็วกว่าตัวดำเนินการโมดูโลถึง 50%):
คี่: x & 1 คู่:! (x & 1)
อ้างอิง: JavaScript ประสิทธิภาพสูง, 8. -> ตัวดำเนินการ Bitwise
นอกจากนี้คุณยังสามารถ:
if (x & 1)
itsOdd();
else
itsEven();
var x = 2;
x % 2 ? oddFunction() : evenFunction();
if (x & 1)
itIsOddNumber();
else
itIsEvenNumber();
หวังว่านี่จะช่วยได้
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');
}
}
โปรดเขียนรหัสต่อไปนี้ในคอนโซลของคุณ:
var isEven = function(deep) {
if (deep % 2 === 0) {
return true;
}
else {
return false;
}
};
isEven(44);
โปรดทราบ:มันจะส่งคืนจริงหากหมายเลขที่ป้อนเป็นเท็จ
ใช้ Modulus แต่ .. คำตอบที่ยอมรับข้างต้นไม่ถูกต้องเล็กน้อย ฉันเชื่อว่าเนื่องจาก x เป็นประเภท Number ใน JavaScript ซึ่งตัวดำเนินการควรเป็นการกำหนดสองครั้งแทนที่จะเป็นการกำหนดสามครั้งดังนี้:
x % 2 == 0
อย่าลืมประกาศตัวแปรของคุณด้วยดังนั้นเห็นได้ชัดว่าไม่สามารถเขียนบรรทัดแบบสแตนด์อโลนได้ :-) มักจะใช้เป็นif
คำสั่ง หวังว่านี่จะช่วยได้
อาร์เรย์ = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
อาร์เรย์แต่ละ {| x | ทำให้ x ถ้า x% 2 == 0}
2 4 6 8 10