将一个对象里面元素为-1的值全转为空怎么做呢?

image.png

有没有简单的方法检测对象中为-1的都转空呢?

最好是循环自动修改

阅读 209
评论 更新于 2019-12-04
    4 个回答
    Evil
    • 315
    var obj = {
            a:0,
            b:2,
            c:4,
            d:-1,
            e:5,
            f:9,
            g:-1,
            h:0
        }
        var newObj = obj;
        for(i in obj){
            if(obj[i]==-1){
                newObj[i] = 1
            }
        }
        console.log(newObj)
    评论 赞赏 2019-12-04
      贾益铭
      • 2
      • 新人请关照

      jashjdasjsahdjahsgdhjasdhajkshd

      评论 赞赏 2019-12-04
        let obj = {
            a:1,
            b:-1,
            c:2,
            d:-1
        }
        let newObj = {};
        Object.entries(obj).forEach(item => {
            newObj[item[0]] = item[1] === -1?'':item[1];
        })
        console.log(newObj);
        评论 赞赏 2019-12-04
          gaoryrt
          • 2.6k

          说了多少遍 immutable,immutable(熊猫打人),要考的呀:

          const newObj = Object.fromEntries(
              Object.entries(obj).filter(([_, val]) => val !== -1)
          )
          
          const newObj = Object.entries(obj)
              .filter(([_, val]) => val !== -1)
              .reduce((pre, [key, val]) => {
                  pre[key] = val
                  return pre
              }, {})
          评论 赞赏 2019-12-04
            撰写回答

            登录后参与交流、获取后续更新提醒