美文网首页
对象递归获取所有值

对象递归获取所有值

作者: 精神病赛车手 | 来源:发表于2019-05-08 11:49 被阅读0次

    遍历json所有的key,如果当前层的某个key对应的值是object或者数组的话就继续递归,如果其他值就是具体的值了!

    上代码

    //json递归所有值
    function jsonRQA(object, cb) {
        for (let key in object) {
            if (object.hasOwnProperty(key)) {
                const element = object[key];
                if (Object.prototype.toString.call(element) ===
                    "[object Array]" ||
                    Object.prototype.toString.call(element) ===
                    "[object Object]") {
                    jsonRQA(element);
                } else {
                    if (cb) {
                        cb();
                    } else {
                        console.log(element);
                    }
                }
            }
        }
    }
    

    附送js判断对象和数组

    var a = {};
    var b = [];
    console.log(Object.prototype.toString.call(a) === '[object Object]');//判断对象 返回true
    console.log(Object.prototype.toString.call(b) === '[object Array]');//判断数组 返回true
    当然 '[object Date]'是用来判断日期 '[object RegExp]' 是用来判断正则表达式
    

    相关文章

      网友评论

          本文标题:对象递归获取所有值

          本文链接:https://www.haomeiwen.com/subject/mukmoqtx.html