gpt4 book ai didi

javascript - 循环中的 Node URLSearchParams 删除不会删除所有条目

转载 作者:行者123 更新时间:2023-12-02 21:34:58 26 4
gpt4 key购买 nike

我有一个以下对象

URLSearchParams {
offset: 'undefined',
limit: 'undefined',
types: 'undefined'
}

https://nodejs.org/api/url.html#url_class_urlsearchparams

我想删除 'undefined' 的参数

request.params.forEach((value, name) => {
if (value == 'undefined' || typeof value == 'undefined') {
request.params.delete(name);
}
});
console.log(request.params);

我期望所有三个键都应该被删除,但是当我控制台日志时它给了我

URLSearchParams { 'limit': 'undefined' }

这只发生在循环中,如果我显式删除项目,它工作正常

request.params.delete('offset');
request.params.delete('limit');
request.params.delete('types');
console.log(request.params); // gives `URLSearchParams { }` as expected.

最佳答案

删除字段时最好创建一个新对象:

data = {
offset: undefined,
limit: undefined,
types: undefined,
test: 'abc'
}

filtered_data = {}

Object.keys(data).forEach((key) => {
let value = data[key]
if (!(value === 'undefined' || typeof value === 'undefined')) {
filtered_data[key] = value
}
})

console.log(filtered_data) // { test: 'abc' }

关于javascript - 循环中的 Node URLSearchParams 删除不会删除所有条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60522437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com