js扁平化对象

JSON.flatten = function(data) {

    var result = {};
    function recurse(cur, prop) {        if (Object(cur) !== cur) {            result[prop] = cur;
        } else if (Array.isArray(cur)) {            for (var i = 0, l = cur.length; i < l; i++)
                recurse(cur[i], prop + "[" + i + "]");            if (l == 0)                result[prop] = [];
        } else {
            var isEmpty = true;            for (var p in cur) {
                isEmpty = false;
                recurse(cur[p], prop ? prop + "." + p : p);
            }            if (isEmpty && prop)                result[prop] = {};
        }
    }
    recurse(data, "");    return result;
};

上述进行扁平化对象的代码中的Object(cur) !== cur是什么意思呢?


MMMHUHU
浏览 952回答 1
1回答

小怪兽爱吃肉

判断cur是否为Object对象,否,则 result[prop] = cur;
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript