บทความนี้อธิบายวิธีการของ JavaScript เพื่อเปรียบเทียบว่าวัตถุสองชิ้นมีค่าเท่ากันหรือไม่ แบ่งปันสำหรับการอ้างอิงของคุณ รายละเอียดมีดังนี้:
ใน Python คุณสามารถใช้ฟังก์ชั่น CMP () ในตัวเพื่อเปรียบเทียบว่าข้อมูลที่มีอยู่ในสองวัตถุมีค่าเท่ากัน (อาร์เรย์ลำดับพจนานุกรม) อย่างไรก็ตามไม่มีการใช้งานที่เกี่ยวข้องในภาษา JavaScript รหัส JS นี้ตัดสินว่าวัตถุทั้งสองนั้นเท่ากันโดยการเปรียบเทียบแง่มุมต่าง ๆ ของวัตถุ JS หรือไม่
cmp = function (x, y) {// ถ้าทั้ง x และ y เป็นโมฆะหรือไม่ได้กำหนดและเหมือนกันถ้า (x === y) {return true; } // หากพวกเขาไม่เท่ากันอย่างเคร่งครัดพวกเขาทั้งสองจำเป็นต้องเป็นวัตถุถ้า (! (x อินสแตนซ์วัตถุ) ||! (วัตถุอินสแตนซ์ของ y)) {return false; } // พวกเขาจะต้องมีห่วงโซ่ต้นแบบเดียวกันที่แน่นอนเท่าที่เราสามารถทำได้คือ // ทดสอบตัวสร้าง if (x.Constructor! == y.constructor) {return false; } สำหรับ (var p ใน x) {// คุณสมบัติที่สืบทอดถูกทดสอบโดยใช้ X.Constructor === y.constructor ถ้า (x.hasownproperty (p)) {// อนุญาตให้เปรียบเทียบ x [p] และ y [p] } // หากพวกเขามีค่าหรือตัวตนที่เข้มงวดเท่ากันพวกเขาจะเท่ากันถ้า (x [p] === y [p]) {ดำเนินการต่อ; } // ตัวเลข, สตริง, ฟังก์ชั่น, บูลีนต้องเท่ากับอย่างเคร่งครัดถ้า (typeof (x [p])! == "วัตถุ") {return false; } // วัตถุและอาร์เรย์จะต้องทดสอบซ้ำถ้า (! object.equals (x [p], y [p])) {return false; }}} สำหรับ (p ใน y) {// อนุญาตให้ x [p] ตั้งค่าเป็น undefined ถ้า (y.hasownproperty (p) &&! x.hasownproperty (p)) {return false; }} ส่งคืนจริง; -ใช้:
obja = {a: '123', b: '456'}; objb = {a: '123', b: '000'}; var isequal = cmp (obja, objb); console.log (isequal); // เท็จแตกต่างกันฉันหวังว่าบทความนี้จะเป็นประโยชน์กับการเขียนโปรแกรม JavaScript ของทุกคน