javascript - 在 URL 中构造查询参数时,删除 qs.stringify 中具有空值或 null 值的键

标签 javascript node.js

我正在构造一个查询字符串解析 qs.stringify 的 URL,其中我希望 URL 中只存在非空或非空值。

我得到的结果如下:

localhost:3000/user?name=john&age=

但是,我不希望 age 参数包含在 url 中,因为 age 的值为 null

以下是我的代码的摘录:

const url = `/user?${qs.stringify({ name, age })}`;

有人可以帮忙吗?

最佳答案

您可以使用 Object.fromEntriesObject.entries 创建一个函数来过滤掉非空值和非空值:

function filterNonNull(obj) {
    return Object.fromEntries(Object.entries(obj).filter(([k, v]) => v));
}

const url = `/user?${qs.stringify(filterNonNull({ name, age }))}`;

关于javascript - 在 URL 中构造查询参数时,删除 qs.stringify 中具有空值或 null 值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65364182/

相关文章:

javascript - 使用TestUtils模拟ReactJS表单标签不会触发 `onSubmit`

javascript - 检索对象的所有实例中保存的值

node.js - 在套接字回调中每分钟仅运行一次我的函数

node.js - PassportJS (Google OpenID) req.user 中没有任何内容

javascript - 如何在html/css/javascript中动态创建两行正方形

javascript - 引用错误: Point is not defined

javascript - $(document).ready(function(){} jquery 被调用两次?

javascript - 几个世纪以来的 UTC 时间

node.js - Node JS批处理获取Redis key

javascript - "TypeError: Cannot read property ' filename ' of undefined "使用multer上传用户头像