So sánh trong reactjs

Boolean là một kiểu dữ liệu đặt biệt, xuất hiện phổ biến trong lập trình. Giá trị của boolean chỉ bao gồm hai giá trị là True, False hoặc 0,1. Tuy nhiên chức năng của nó là khá quan trọng. Trong hầu hết các so sánh, giá trị của boolean chính là kết quả của so sánh. Trong bài viết này, mình sẽ chia sẻ với bạn về kiểu dữ liệu boolean và các phép so sánh trong Javascript.

Boolean là một kiểu dữ liệu dạng bit, chỉ có thể lưu trữ hai giá trị True hoặc False. Với đặt tính của Boolean nó thường được sử dụng để làm kiểu dữ liệu cho thuộc tính chỉ lưu trữ hai giá trị ví dụ Đúng/Sai, Tắt/Mở,… Boolean có thể được sử dụng để trả về “câu trả lời” đúng hoặc sai của một biểu thức so sánh. Ví dụ: Boolean[19 > 18].

Khi kiểm tra một biến bằng biểu thức Boolean, kết quả nhận được là True khi biến đó có chứa giá trị thật sự và nhận về False khi biến đó không chứa giá trị. Ví dụ:

var b1 = 100
Boolean[b1];
//Kết quả trả về sẽ là true.

var x = "";
Boolean[x];
Kết quả trả về sẽ là false. Ngoài ra các biến chưa có giá trị, giá trị bằng 0 hoặc null cũng sẽ trả về false.

Các phép so sánh trong Javascript

Các phép so sánh được gọi là toán tử. Biểu thức so sánh sẽ đưa ra một kết quả nhất định, có giá trị là Boolean. Các giá trị boolean này có thể được dùng trong các hàm như if, switch,.. Một số phép so sánh phổ biến tron Javascript như sau:

  • x == y: Trả về true khi hai giá trị x và y bằng nhau không phân biệt kiểu dữ liệu. false khi ngược lại.
  • x === y: Trả về true khi hai giá trị x và y bằng nhau cả về giá trị lẫn kiểu dữ liệu. false khi ngược lại.
  • x != y: Trả về true khi hai giá trị x và y không bằng nhau không phân biệt kiểu dữ liệu. false khi ngược lại.
  • x !== y: Trả về true khi hai giá trị x và y không bằng nhau về giá trị hoặc kiểu dữ liệu. false khi ngược lại.
  • x > y: Trả về true khi x lớn hơn y. false khi ngược lại.
  • x < y: Trả về true khi x nhỏ hơn y. false khi ngược lại.
  • x >= y: Trả về true khi x lớn hơn hoặc bằng y. false khi ngược lại.
  • x 1] trả về true.
  • ||: Toán tử này xác định nếu vế bên phải đúng hoặc vế bên trái đúng thì sẽ trả về true, ngược lại là false. Ví dụ: [6 > 1 || 3 > 6] trả về true.
  • !: Đây là toán tử phủ định. Tức là nếu biểu thức đúng sẽ trả về là false và nếu sai sẽ trả về là true. Ví dụ: ![5 == 5] trả về false.

Sử dụng hàm điều kiện trong Javascript

Các kết quả so sánh khi sử dụng phép so sánh hay toán tử logic đều trả về giá trị boolean. Giá trị này được sử dụng để đưa ra một lựa chọn cụ thể. Để thực hiện được điều này các lập trình viên sử dụng một hàm được gọi là hàm điều kiện. Hàm điều kiện trong Javascript có cú pháp: Biến = [Biểu thức điều kiện] ? Giá trị true:Giá trị false. Trong đó biến sẽ lưu giá trị trả về sau khi lựa chọn. biểu thức điều kiện là bao gồm việc sử dụng phép so sánh hay toán tử logic. Giá trị true là giá trị sẽ được trả về nếu biểu thức điều kiện trả về giá trị true, hoặc Giá trị false sẽ được trả về nếu biểu thức điều kiện trả về false. Ví dụ: var dieu_kien = [age , b // NaN : if a or b is an illegal date // NOTE: The code inside isFinite does an assignment [=]. return [ isFinite[a=this.convert[a].valueOf[]] && isFinite[b=this.convert[b].valueOf[]] ? [a>b]-[a false, oops! // anything involving '=' should use the '+' prefix // it will then compare the dates' millisecond values +x true +x >= +y; => true +x === +y; => true

Hi vọng điêu nay co ich!

243 hữu ích 5 bình luận chia sẻ

answer

Tạ Nam Hải · Tạ Nam Hải 16:04 31/01/2013

Các toán tử quan hệ < >=có thể được sử dụng để so sánh ngày JavaScript:

var d1 = new Date[2013, 0, 1]; var d2 = new Date[2013, 0, 2]; d1 = d2; // false

Tuy nhiên, các toán tử đẳng thức == != === !==không thể được sử dụng để so sánh [giá trị của] ngày vì :

  • Hai đối tượng riêng biệt không bao giờ bằng nhau cho các so sánh nghiêm ngặt hoặc trừu tượng.
  • Một biểu thức so sánh các Đối tượng chỉ đúng nếu các toán hạng tham chiếu cùng một Đối tượng.

Bạn có thể so sánh giá trị của ngày cho sự bằng nhau bằng bất kỳ phương pháp nào sau đây:

var d1 = new Date[2013, 0, 1]; var d2 = new Date[2013, 0, 1]; /* * note: d1 == d2 returns false as described above */ d1.getTime[] == d2.getTime[]; // true d1.valueOf[] == d2.valueOf[]; // true Number[d1] == Number[d2]; // true +d1 == +d2; // true

Cả hai Date.getTime[]và Date.valueOf[]trả về số mili giây kể từ ngày 1 tháng 1 năm 1970, 00:00 UTC. Cả hai Numberhàm và toán tử đơn nguyên +gọi các valueOf[]phương thức đằng sau hậu trường.

134 hữu ích 3 bình luận chia sẻ

answer

Đỗ Bích Thu · Đỗ Bích Thu 00:48 01/11/2011

Cho đến nay, phương pháp đơn giản nhất là trừ đi một ngày khác và so sánh kết quả.

var oDateOne = new Date[]; var oDateTwo = new Date[]; alert[oDateOne - oDateTwo === 0]; alert[oDateOne - oDateTwo 0];

70 hữu ích 0 bình luận chia sẻ

answer

Phạm Trường Chinh · Phạm Trường Chinh 09:59 11/07/2017

So sánh số ngày trong JavaScript là khá dễ dàng ... Javascript đã được xây dựng trong hệ thống so sánh cho ngày mà làm cho nó dễ dàng như vậy để làm việc so sánh ...

Chỉ cần làm theo các bước sau để so sánh giá trị 2 ngày, ví dụ: bạn có 2 đầu vào, mỗi đầu vào có giá trị Ngày Stringvà bạn so sánh chúng ...

1. bạn có 2 giá trị chuỗi bạn nhận được từ một đầu vào và bạn muốn so sánh chúng, chúng như dưới đây:

var date1 = '01/12/2018'; var date2 = '12/12/2018';

2. Chúng cần Date Objectđược so sánh như các giá trị ngày, vì vậy chỉ cần chuyển đổi chúng thành ngày, bằng cách sử dụng new Date[], tôi chỉ cần gán lại chúng để đơn giản giải thích, nhưng bạn có thể làm điều đó theo cách bạn muốn:

date1 = new Date[date1]; date2 = new Date[date2];

3. Bây giờ chỉ cần so sánh chúng, sử dụng> < >= date2; //false date1 = date2; //false date1 t1 = new Date[] Thu Jan 29 2009 14:19:28 GMT-0500 [Eastern Standard Time] js>t2 = new Date[] Thu Jan 29 2009 14:19:31 GMT-0500 [Eastern Standard Time] js>t2-t1 2672 js>t3 = new Date['2009 Jan 1'] Thu Jan 01 2009 00:00:00 GMT-0500 [Eastern Standard Time] js>t1-t3 2470768442 js>t1>t3 true

28 hữu ích 5 bình luận chia sẻ

answer

Phạm Duy An · Phạm Duy An 10:49 09/08/2012

bạn sử dụng mã này,

var firstValue = "2012-05-12".split['-']; var secondValue = "2014-07-12".split['-']; var firstDate=new Date[]; firstDate.setFullYear[firstValue[0],[firstValue[1] - 1 ],firstValue[2]]; var secondDate=new Date[]; secondDate.setFullYear[secondValue[0],[secondValue[1] - 1 ],secondValue[2]]; if [firstDate > secondDate] { alert["First Date is greater than Second Date"]; } else { alert["Second Date is greater than First Date"]; }

Và cũng kiểm tra liên kết này //www.w3schools.com/js/js_obj_date.asp

15 hữu ích 2 bình luận chia sẻ

answer

Huỳnh Lâm Tuyền · Huỳnh Lâm Tuyền 21:06 02/08/2013

CÂU TRẢ LỜI NGẮN

Đây là một hàm trả về {boolean} nếu hoạt động từ dateTime> đến dateTime Demo

var from = '08/19/2013 00:00' var to = '08/12/2013 00:00 ' function isFromBiggerThanTo[dtmfrom, dtmto]{ return new Date[dtmfrom].getTime[] >= new Date[dtmto].getTime[] ; } console.log[isFromBiggerThanTo[from, to]]; //true

Giải trình

jsFiddle

var date_one = '2013-07-29 01:50:00', date_two = '2013-07-29 02:50:00'; //getTime[] returns the number of milliseconds since 01.01.1970. var timeStamp_date_one = new Date[date_one].getTime[] ; //1375077000000 console.log[typeof timeStamp_date_one];//number var timeStamp_date_two = new Date[date_two].getTime[] ;//1375080600000 console.log[typeof timeStamp_date_two];//number

vì hiện tại bạn có cả datetime theo kiểu số, bạn có thể so sánh chúng với bất kỳ hoạt động so sánh nào

[>, = VÀ b || b>a]] }

13 hữu ích 3 bình luận chia sẻ

answer

Bùi Trọng An · Bùi Trọng An 19:17 29/01/2009

var date = new Date[]; // will give you todays date. // following calls, will let you set new dates. setDate[] setFullYear[] setHours[] setMilliseconds[] setMinutes[] setMonth[] setSeconds[] setTime[] var yesterday = new Date[]; yesterday.setDate[...date info here]; if[date>yesterday] // will compare dates

12 hữu ích 0 bình luận chia sẻ

answer

Dương Hoàng Khánh · Dương Hoàng Khánh 15:41 26/03/2014

Chỉ cần thêm một khả năng khác vào nhiều tùy chọn hiện có, bạn có thể thử:

if [date1.valueOf[]==date2.valueOf[]] .....

... có vẻ như làm việc cho tôi. Tất nhiên bạn phải đảm bảo rằng cả hai ngày không được xác định ...

if [[date1?date1.valueOf[]:0]==[date2?date2.valueOf[]:0] .....

Bằng cách này, chúng tôi có thể đảm bảo rằng một so sánh tích cực được thực hiện nếu cả hai cũng không được xác định hoặc ...

if [[date1?date1.valueOf[]:0]==[date2?date2.valueOf[]:-1] .....

... Nếu bạn thích chúng không bằng nhau.

11 hữu ích 0 bình luận chia sẻ

answer

Hoàng Kiến Ðức · Hoàng Kiến Ðức 17:10 14/03/2017

Lưu ý - Chỉ so sánh Phần ngày:

Khi chúng ta so sánh hai ngày trong javascript. Phải mất hàng giờ, phút và giây cũng được xem xét .. Vì vậy, nếu chúng ta chỉ cần so sánh ngày, đây là cách tiếp cận:

var date1= new Date["01/01/2014"].setHours[0,0,0,0]; var date2= new Date["01/01/2014"].setHours[0,0,0,0];

Bây giờ: if date1.valueOf[]> date2.valueOf[]sẽ làm việc như một lá bùa.

11 hữu ích 0 bình luận chia sẻ

answer

Bùi Xuân Bích · Bùi Xuân Bích 05:53 05/07/2016

Qua Moment.js

Jsfiddle: //jsfiddle.net/guhokemk/1/

function compare[dateTimeA, dateTimeB] { var momentA = moment[dateTimeA,"DD/MM/YYYY"]; var momentB = moment[dateTimeB,"DD/MM/YYYY"]; if [momentA > momentB] return 1; else if [momentA

Chủ Đề