So sánh chuỗi trong jquery

anh chị cho em hỏi với ạ : các phép so sánh trong js
câu 1 :

var a = [1, 2]; var b = [1, 2]; console.log[a === b];

em chạy chương trình thì là false nhưng em k hiểu vì sao

câu 2 :

var a = { foo: 'bar' }; var b = { foo: 'bar' }; console.log[a === b];

câu 3:

var a = '1000'; var b = '200'; console.log[a > b];

anh chị em có thể thông cái não này giúp em với không ạ . em chạy chương trình test thử thì kết quả đều là false nhưng em không thể giải thích được lý do . em đã search các kiểu k tìm dc nguyên nhân.
cám ơn anh chị ạ

1 Like

Đối với 2 object, việc so sánh === cho kết quả true nếu 2 object đó là 1. Mảng là object.
Khi bạn gán a = [1, 2]; b = [1, 2]; là bạn đang gán a và b đến 2 đối tượng khác nhau [được đặt ở các vùng nhớ khác nhau trong bộ nhớ, mặc dù hai đối tượng này có cùng giá trị].

Phép === xảy ra nếu a = b; và ngược lại hoặc a = c; b = c;…

Tương tự với a = {foo:"bar"}; b = {foo:"bar"};

Với câu 3, vì bạn so sánh chuỗi “1000” và “200”, nên kết quả sẽ là “1000” < “200”, chứ không phải so sánh 2 số. Nếu bạn muốn so sánh 2 số phải convert các chuỗi trên thành số: console.log[parseInt[a] > parseInt[b]];

13 Likes

Cám ơn bạn, bạn chia sẻ rất dễ hiểu. Mình học Javascript đến chỗ này cũng ko hiểu được ^^

Dọc thêm bài này nữa để cũng cố kiến thức thêm

Đức Anh Plus – 12 Jul 16

Toán tử So sánh và Logic được sử dụng để kiểm tra true hoặc false. Các toán tử so sánh Toán tử so sánh được sử dụng trong câu lệnh logic để xác định tính bằng nhau hoặc khác nhau giữa các biến hoặc giá

2 Likes

Đối với trường hợp 2 string thì theo mình biết là khi so sánh nó sẽ lấy giá trị unicode của string theo thứ tự. Theo đó ở đây thì a.charCodeAt[0] là 49, còn b.charCodeAt[0] là 50. Nên “1000” < “2”

1 Like

hiểu hơn chút về so sánh kiểu này rồi

cho em hỏi ngu là trong 2 trường hợp trên thì nó có thể xảy ra trường hợp bằng nhau khi nào ạ.E cảm ơn.

So sánh object trong JS là so sánh xem có trùng nhau hay không.
Như là ta có 2 lon Coca, trông chúng giống hệt nhau nhưng vẫn là hai vật thể khác nhau. Thế nên

var lon1 = ["Cocacola", "Coke"], lon2 = ["Cocacola", "Coke"]; console.log[lon1 === lon2]; // false

Nếu muốn chúng trả về True thì chúng phải là một

var lon1 = ["Cocacola", "Coke"]; var lon2 = lon1; console.log[lon1 === lon2]; // true

3 Likes

Vâng e cảm ơn ạ

Home Categories FAQ/Guidelines Terms of Service Privacy Policy

Chuỗi - String là một thứ không thể thiếu trong một ngôn ngữ và đi kèm theo nó là hàng loạt các hàm xử lý chuỗi sẵn có, rất hữu dụng. Và đương nhiên trong javascript cũng thế.

1, Khai báo chuỗi trong javascript.

-Mặc dù đã được học về khai báo chuỗi trong javascript rồi [xem lại]. Nhưng thôi ở đây mình cứ nhắc lại, coi như chúng ta ôn lại bài cũ.

-Để khai báo trong javascript chúng ta có có thể đặt trong dấu ' hoặc ".

VD:

var a = 'toidicode.com'; //Hoặc var b = "toidicode.com";

Và chúng ta cũng có thể sử dụng trích dẫn trong chuỗi, nhưng với điều kiện là không được trùng với ký tự bao ngoài nó.

VD:

var a = 'Học lập trình online miễn phí "toidicode.com"'; //hoặc var b = "Học lập trình online miễn phí 'toidicode.com'";

-Nếu như trong trường hợp bắt buộc thì chúng ta cũng có thể sử dụng trùng ký tự nhưng phải đặt dấu \ ở trước ký tự bến trong nó.

VD:

var a = 'học lập trình online \'toidicode.com\''; //Hoặc var b = "học lập trình online \"toidicode.com\""

Xem Kết Quả

2, Các thuộc tính và phương thức của string.

length

-Để lấy độ dài của chuỗi trong javascript chúng ta sử dụng thuộc tính length.

Cú Pháp:

string.length;

Trong đó: string là tên biến chứa chuỗi.

VD:

var a = "Học lập trình javascript online toidicode.com"; var count = a.length; document.write[count];

Xem Kết Quả

indexOf[]

-Phương thức này trả về vị trí của từ xuất hiện đầu tiên trong chuỗi, nếu trong chuỗi không có từ cần tìm thì nó sẽ trả về -1.

Cú Pháp:

string.indexOf[keyword];

Trong đó: keyword là từ khóa mà các bạn cần tìm trong chuỗi.

VD:

var des = "toidicode là trang web chuyên chia sẻ các tutorials về lập trình toidicode"; var position = des.indexOf['toidicode']; alert['Vị trí của chuỗi toidicode trong des là: ' + position];

Xem Kết Quả

lastIndexOf[]

-Phương thức này cũng giống với phương thức indexOf[] là tìm kiếm vị trí của chuỗi, nhưng hàm này sẽ trả về vị trí cuối cùng của chuỗi xuất hiện trong chuỗi cần tìm.

Cú Pháp:

string.lastIndexOf[keyword];

Trong đó: keyword là từ khóa mà các bạn cần tìm trong chuỗi.

VD:

var des = "toidicode là trang web chuyên chia sẻ các tutorials về lập trình toidicode"; var position = des.lastIndexOf['toidicode']; alert['Vị trí của chuỗi toidicode trong des là: ' + position];

Xem Kết Quả

Search[]

-Hàm này giống như hàm indexOf nên mình sẽ không trình bày thêm.

slice[]

-Hàm này có tác dụng cắt ra một chuỗi con từ một chuỗi cha.

Cú Pháp:

string.slice[begin,end];

Trong đó:

  • begin là vị trí bắt đầu cắt chuỗi
  • end là vị trí kết thúc cắt chuỗi [nếu không điền thì là cắt đến hết chuỗi].

Chú ý: vị trí của chuỗi được tính từ 0.

VD:

var a = "học lập trình online toidicode.com"; a.slice[21,34]; //toidicode.com

Xem Kết Quả

-Và đương nhiên bạn cũng có thể cắt chuỗi từ cuối về đầu. bằng việc thêm dấu trừ vào trước vị trí [tính từ cuối về đầu].

VD:

var a = "học lập trình online toidicode.com"; a.slice[-13,34]; //toidicode.com

Xem Kết Quả

VD: Cắt chuỗi từ vị trí bắt đầu đến hết chuỗi.

var a = "học lập trình online toidicode.com"; a.slice[21]; //toidicode.com

substring[]

-Hàm này cũng tương tự như hàm sicle[], nhưng hàm này không cho phép truyền vào số âm.

Cú pháp:

string.substring[begin,end];

Trong đó:

  • begin là vị trí bắt đầu cắt chuỗi
  • end là vị trí kết thúc cắt chuỗi [nếu không điền thì là cắt đến hết chuỗi].

Chú ý: vị trí của chuỗi được tính từ 0.

substr[]

-Phương thức này cũng có tác dụng là cắt chuỗi nhưng tham số thứ 2 của phương thức này có phần khác với 2 phương thức còn lại.

Cú pháp:

string.substr[begin,length];

Trong đó:

  • begin là vị trí bắt đầu cắt chuỗi
  • length là độ dài của chuỗi muốn cắt [tính từ điểm bắt đầu cắt].

Chú ý: vị trí của chuỗi được tính từ 0.

VD:

var a = "học lập trình online toidicode.com"; a.substr[21,13]; //toidicode.com

Xem Kết Quả

replace[]

-Phương thức này cho phép chúng ta tìm kiếm và thay thế chuỗi.

Cú Pháp:

string.replace[chuoicantim,chuoithaythe];

Trong đó:

  • chuoicantim là chuỗi cần tìm để thay thế.
  • chuoithaythe là chuỗi thay thế.

VD: Thay thế chuỗi toidicode.com bằng //toidicode.com

var a = "học lập trình online toidicode.com"; a.replace['toidicode.com','//toidicode.com'];

Xem Kết Quả

toUpperCase[]

-Phương thức này có tác dụng chuyển đổi chuỗi thành chữ in hoa.

Cú Pháp:

string.toUppercase[];

VD:

var a = "học lập trình online toidicode.com"; a.toUpperCase[];

Xem Kết Quả

toLowerCase[]

-Phương thức này có tác dụng chuyển đổi chuỗi thành chuỗi thường.

Cú Pháp:

string.toLowerCase[];

VD:

var a = "HỌC LẬP TRÌNH ONLINE TOIDICODE.COM"; a.toUpperCase[];

Xem Kết Quả

3, Lời Kết.

-Như vậy qua phần này mình đã trình bày xong cơ bản về chuỗi trong javascript rồi, các bạn chú ý ôn cho chắc phần này nhé. Bài tiếp theo chúng ta sẽ tìm hiểu về Số - Numbers trong javascript.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Video liên quan

Chủ Đề