So sánh hai chuỗi trong javascipt năm 2024

Bài viết này mình sẽ tìm hiểu cách so sánh 2 mảng cơ bản trong javascript bằng kiểu dữ liệu Json nha.

JSON là viết tắt của cụm từ Javascript Object Notation thì đây 1 kiểu dữ liệu tuân theo 1 quy tắc nhất định. Mình thấy ngôn ngữ nào cũng sử dụng nó cả hehe.

Mình ví dụ sau này muốn lưu data nào đó vào database thì không ai mà lưu 1 mảng const arr = [1, 2] như thế này cả mà người ta sẽ chuyển đổi sang 1 kiểu dữ liệu Json xong rồi mới thêm vào database chứ hông là nó hông hiểu :d

Cú pháp:

JSON.stringify(value): Chuyển giá trị sang dưới dạng JSON string

JSON.parse(value): Chuyển đổi giá trị JSON sang kiểu ban đầu của nó

Lúc trước mình cũng thắc mắc sao không dùng hàm toString để chuyển sang string rồi lưu luôn cho khỏe :v.

So sánh hai chuỗi trong javascipt năm 2024

Nếu dùng JSON.stringify thì nó sẽ lưu dưới dạng Json string. Vậy mình muốn lấy ra lại giá trị ban đầu [1,2,3] thì mình dùng JSON.parse(value) nha

JSON.parse([1,2,3]) -> [1,2,3]

const arr1 \= [1, 2, 3];

const arr2 \= [1, 2, 3];

console.log(arr1 \== arr2); // false

console.log(JSON.stringify(arr1) \=== JSON.stringify(arr2))// true

Nếu như so sánh bình thường thì sẽ ra kết quả là false, liên quan đến by Reference trong Js hiểu nôm na như có sẽ lưu địa chỉ của giá trị chứ không giá trị của nó nên nếu so sánh thì nó so sánh địa chỉ đó thôi hehe. Còn so sánh theo chuỗi Json String thì okie rồi nè hehe.

Biểu thức so sánh Mô tả Trả về 5 > 3 số 5 có giá trị lớn hơn số 3 true 5 > 7 số 5 có giá trị lớn hơn số 7 false 5 >= 3 số 5 có giá trị lớn hơn hoặc bằng số 3 true 5 >= 5 số 5 có giá trị lớn hơn hoặc bằng số 5 true 5 >= 7 số 5 có giá trị lớn hơn hoặc bằng số 7 false 5 < 7 số 5 có giá trị nhỏ hơn số 7 true 5 < 3 số 5 có giá trị nhỏ hơn số 3 false 5 <= 7 số 5 có giá trị nhỏ hơn hoặc bằng số 7 true 5 <= 5 số 5 có giá trị nhỏ hơn hoặc bằng số 5 true 5 <= 3 số 5 có giá trị nhỏ hơn hoặc bằng số 3 false 5 == "5" số 5 có giá trị bằng với chuỗi "5" true 5 === "5" số 5 có giá trị bằng với chuỗi "5" và có chung kiểu dữ liệu false 5 != 7 số 5 khác với số 7 true 5 !== "7" số 5 khác với chuỗi "7" hoặc khác kiểu dữ liệu true

2) Toán tử logic

- Toán tử logic là loại toán tử dùng để xác định mối quan hệ logic giữa các giá trị logic (true, false)

- Toán tử logic được chia làm ba loại: && || !

\=>Toán tử && (and) sẽ trả về giá trị:

  • true: nếu hai giá trị là true
  • false: nếu hai giá trị là false, hoặc một giá trị là true và một giá trị là false

\=>Toán tử || (or) sẽ trả về giá trị:

  • true: nếu hai giá trị là true, hoặc một giá trị là true và một giá trị là false
  • false: nếu hai giá trị là false

\=> Toán tử ! (not) sẽ trả về giá trị logic ngược lại.

true && true Trả về: true true && false Trả về: false false && true Trả về: false false && false Trả về: false true || true Trả về: true true || false Trả về: true false || true Trả về: true false || false Trả về: false !true Trả về: false !false Trả về: true

- Lưu ý: Mỗi toán tử logic sẽ có một độ ưu tiên khác nhau, tùy vào độ ưu tiên sẽ quyết định biểu thức nào được thực thi trước.

- Sau đây là thứ tự sắp xếp độ ưu tiên giảm dần của ba toán tử logic: ! \==> && \==> ||


<==> false || false && false || true
<==> false || false || true
<==> false || true
<==> true

Xem ví dụ

- Ngoài ra, ta có thể sử dụng toán tử () để nhóm những biểu thức mà bạn muốn được thực thi trước.


<==> (false || false) && (false || true)
<==> false && true
<==> false

Xem ví dụ

3) Biểu thức logic

- Biểu thức logic thường là một tập hợp gồm hai hoặc nhiều biểu thức so sánh và các toán tử logic.

- Tương tự như biểu thức so sánh, biểu thức logic sẽ trả về một trong hai giá trị: true hoặc false.

Biểu thức logic Trả về Giải thích (5 > 3) && (5 < 7) true (5 > 3) && (5 < 7) <=> true && true <=> true (5 > 3) && (5 > 7) false (5 > 3) && (5 > 7) <=> true && false <=> false (5 < 3) && (5 > 7) false (5 < 3) && (5 > 7) <=> false && false <=> false (5 > 3) || (5 < 7) true (5 > 3) || (5 < 7) <=> true || true <=> true (5 > 3) || (5 > 7) true (5 > 3) || (5 > 7) <=> true || false <=> true (5 < 3) || (5 > 7) false (5 < 3) || (5 > 7) <=> false || false <=> false !(5 < 3) true !(5 < 3) <=> !(false) <=> true !(5 > 3) false !(5 > 3) <=> !(true) <=> false (5 > 3) && (5 > 7) || (7 > 5) true (5 > 3) && (5 > 7) || (7 > 5) <=> true && false || true <=> false || true <=> true