javascript - 如何在 Jquery 中使用单行将 null 替换为 "-"

标签 javascript jquery

如何在 jQuery 中使用单行将 null 替换为 -

例如

    var obj={
        "Key1":null,
        "key2":"I have null",
        "key3":null

    }

预期输出:

var obj={
    "Key1":"-",
    "key2":"I have null",
    "key3":"-"

}

最佳答案

你可以使用 Object.keys并检查值。带有一个递归函数,在迭代对象上有一个闭包。

var iter = o => k => o[k] && typeof o[k] === 'object' && Object.keys(o[k]).forEach(iter(o[k])) || o[k] === null && (o[k] = '-'),
    object = { Key1: null, key2: "I have null", key3: { kje: "test", dfasfd: null, demo: "null demo" } }; 

Object.keys(object).forEach(iter(object));
console.log(object);

基本上用 ES5 解析

var object = { Key1: null, key2: "I have null", key3: { kje: "test", dfasfd: null, demo: "null demo" } }; 

Object.keys(object).forEach(function iter(o) {
    return function (k) {
        if (o[k] && typeof o[k] === 'object') {
            Object.keys(o[k]).forEach(iter(o[k]));
            return;
        }
        o[k] === null && (o[k] = '-');
    };
}(object));
console.log(object);

关于javascript - 如何在 Jquery 中使用单行将 null 替换为 "-",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43154363/

相关文章:

javascript - 如何在 JavaScript 中处理来自 HTML 多输入标记的多个文件?

javascript 排序异步函数

javascript - 谷歌地图 : render map based on street address

jquery - 通过 jquery 注入(inject) html 后,事件处理程序无法使用/不使用委托(delegate)

javascript - 从 php 设置 setInterval 计时器

javascript - 将类添加到不同页面上的元素

javascript - 使用转义正则表达式特殊字符进行测试时字符串相等性失败

javascript - req.body 在 Express 应用程序的后路由中未定义

javascript - AJAX:仅触发错误回调

javascript - HighCharts + xAxis 标签格式化程序