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
  })
}
posted @ 2021-08-11 22:59  随时静听  阅读(238)  评论(0)    收藏  举报