js中0值的坑
最近开发一个数据统计分析平台,遇到的一个问题,记录一下,在发送到后端参数时,如果参数值为空,就将对应的字段删除,于是就有下面的代码
page,pageSize是白名单参数,不删除,其他参数如果为空就删除
export const getMisreportList = (params) => {
// console.log(params)
var whiteList = ["page", "pageSize"]
// console.log(params.province)
Object.keys(params).map(key => {
// console.log(key)
if (whiteList.indexOf(key) == -1) {
if (params[key] == undefined || params[key] == "") {
// console.log("xxxx")
console.log(params[key] )
delete params[key]
}
}
})
return service({
url: '/misreport/getMisreportList',
method: 'get',
params
})
}
实际查询中,省份的id为0时,进入了params[key] == undefined || params[key] == ""的语句,经测试 0""返回true,最后改成=判断解决问题

export const getMisreportList = (params) => {
// console.log(params)
var whiteList = ["page", "pageSize"]
// console.log(params.province)
Object.keys(params).map(key => {
// console.log(key)
if (whiteList.indexOf(key) == -1) {
// if (params[key] == undefined || params[key] == "") {
if (params[key] === "") {
// console.log("xxxx")
console.log(params[key] )
delete params[key]
}
}
})
return service({
url: '/misreport/getMisreportList',
method: 'get',
params
})
}

浙公网安备 33010602011771号