JavaScript——深度遍历对象属性值进行判断对象是否相同

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript——深度遍历对象属性值进行判断对象是否相同相关的知识,希望对你有一定的参考价值。

深度遍历对象属性值进行判断对象是否相同

<script>

function fun(o1,o2)
    var keys_1 = Object.keys(o1);
    var keys_2 = Object.keys(o2);

    var len_1 = Object.keys(o1).length;
    var len_2 = Object.keys(o2).length;

    var values_1 = Object.values(o1);//value数组
    var values_2 = Object.values(o2);//value数组


    if(len_1 !==len_2)
        return false
    
    var len = len_1

    for(var i = 0;i<len;i++)
        if(typeof values_1[i] === 'object' && values_1[i] !== null && typeof values_1[i] === 'object' && values_1[i] !== null)
            return fun(values_1[i],values_2[i])
        
        if(values_1[i] != values_2[i])
            return false
        
    
    return true;


console.log(fun(o1,o2));

以上是关于JavaScript——深度遍历对象属性值进行判断对象是否相同的主要内容,如果未能解决你的问题,请参考以下文章

JObject对象如何获取深度属性值&不判断key是否存在获取值&获取含有特殊字符的key值

javascript遍历select下拉框判断其中值是否与指定值相等

JavaScript循环遍历

js对象是拥有属性和方法的数据吗?

JavaScript 数组去重

编写可维护javascript