看两个对象是否完全相等

<script type="text/javascript">
            window.onload = function() {
                //判断两个对象是否相等
                var isObjEqual = function(obj1,obj2){
                    //获取所有属性
                    var props1 = Object.getOwnPropertyNames(obj1);
                    var props2 = Object.getOwnPropertyNames(obj2);
                    //如果属性的数量都不一样,那就一定不是相等的对象
                    if(props1.length!=props2.length)return false;
                    for(let i = 0 ; i < props1.length;i++){
                        if(obj1[props1[i]]!=obj2[props2[i]])return false
                    }
                    return true;
                }
                var obj1 = {
                    id: 1,
                    name: "张三"
                }
                var obj2 = {
                    id: 2,
                    name: "李四"
                }
                var obj3 = {
                    id: 1,
                    name: "张三",
                    age: 25
                }
                var obj4 = {
                    id: 1,
                    name: "张三"
                }
                console.log(isObjEqual(obj1, obj2)); //false
                console.log(isObjEqual(obj1, obj3)); //false
                console.log(isObjEqual(obj1, obj4));

            }
        </script>

猜你喜欢

转载自blog.csdn.net/qq_33807889/article/details/82890361