Làm cách nào để so sánh ba thứ trong JavaScript?
Đối tượng là loại tham chiếu nên bạn không thể chỉ dùng Show
# So sánh lồng sâuYup, 2 cách cũng hoạt động đối với các đối tượng được lồng sâu
# Tôi nên sử dụng cái nào?Vâng, điều đó phụ thuộc vào. Đối với Đây là đề nghị của tôi. Đối với một giải pháp nhanh chóng và bẩn thỉu, tôi sẽ sử dụng
# Đề xuất cộng đồng# ES6 Cách so sánh 2 đối tượngĐây là một giải pháp được đề xuất bởi @mustafauzun0. Tuy nhiên, có một vài điều cần lưu ý, nó sẽ không hoạt động với các đối tượng lồng nhau và thứ tự của các phím rất quan trọng. Ý tưởng đằng sau điều này tương tự như cách xâu chuỗi. Nó chuyển đổi đối tượng thành một chuỗi và so sánh xem các chuỗi có khớp không. Về cơ bản, nó so sánh sự bằng nhau của hai chuỗi. Đó là lý do tại sao thứ tự quan trọng
Cảm ơn. @mustafauzun0 # JSON. stringify so với hiệu suất isEqual của LodashCole Turner. Đáng chú ý là các đối tượng không đảm bảo thứ tự sắp xếp và stringify sẽ tốn nhiều hiệu năng hơn vì nó phải tuần tự hóa toàn bộ đối tượng trong khi lodash có thể thoát sớm nếu tìm thấy khóa không khớp. Điều này xuất hiện trong các cuộc phỏng vấn 🙂 Cảm ơn. @coleturner blnkdotspace. Lodash nhanh hơn đáng kể. Bởi vì lodash sẽ thoát ngay khi đạt đến điểm khác biệt đầu tiên, nhưng stringify sẽ đi ngay cho đến khi kết thúc một cách không cần thiết. Nếu bạn có các mảng nhỏ thì không sao nhưng đối với các trường hợp sử dụng cá nhân của tôi với hơn 1000 sự kiện/sản phẩm trong danh sách, tôi sẽ không bao giờ sử dụng Stringify Làm cách nào để so sánh ba giá trị trong JavaScript?JavaScript cung cấp ba thao tác so sánh giá trị khác nhau. . === - bình đẳng nghiêm ngặt (ba bằng) == — đẳng thức lỏng lẻo (bằng kép) Vật. Là() 3 dấu bằng có nghĩa là gì trong JavaScript?JavaScript === (Ba dấu bằng) Dấu ba bằng trong JavaScript có nghĩa là “bình đẳng không ép buộc kiểu”. Điều đó có nghĩa là, cả loại và giá trị phải bằng nhau. Lấy ví dụ kịch bản trong đó 0 là sai. So sánh 2 dấu bằng nhau thì mệnh đề sau đúng
Làm cách nào để sử dụng === trong JavaScript?Toán tử đẳng thức nghiêm ngặt ( === ) kiểm tra xem hai toán hạng của nó có bằng nhau hay không, trả về kết quả Boolean. . Các số phải có cùng giá trị số. +0 và -0 được coi là có cùng giá trị Các chuỗi phải có các ký tự giống nhau theo cùng một thứ tự Booleans phải vừa đúng hoặc vừa sai diff == và === trong JavaScript là gì?Toán tử == kiểm tra xem hai giá trị có bằng nhau không. Các. = toán tử kiểm tra xem hai giá trị có bằng nhau không . Nó còn được gọi là toán tử đẳng thức lỏng lẻo vì nó kiểm tra đẳng thức trừu tượng, i. e. , nó có xu hướng chuyển đổi kiểu dữ liệu của toán hạng để thực hiện phép so sánh khi hai toán hạng không cùng kiểu dữ liệu. |