Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS或jQuery如何删除键值对_Javascript_Jquery_Object_Key Value - Fatal编程技术网

Javascript JS或jQuery如何删除键值对

Javascript JS或jQuery如何删除键值对,javascript,jquery,object,key-value,Javascript,Jquery,Object,Key Value,使用JS或jQuery如何删除值类型为“Null”和”的键值对。 例如 之前: 更改: Object {style: "fruit", origin: "Thailand", day: "18d"} 这有两个部分: 循环遍历对象的属性 从对象中删除属性 有很多方法可以做第一件事,包括。假设您只关心“自己的”(非继承的)属性,我可能会使用Object.keys获取属性名数组,然后循环该数组 第二个是使用delete操作符完成的 因此: 实例: var theObject={ 风格:“水果”,

使用JS或jQuery如何删除值类型为“
Null
”和
的键值对。 例如 之前:

更改:

Object {style: "fruit", origin: "Thailand", day: "18d"}

这有两个部分:

  • 循环遍历对象的属性

  • 从对象中删除属性

  • 有很多方法可以做第一件事,包括。假设您只关心“自己的”(非继承的)属性,我可能会使用
    Object.keys
    获取属性名数组,然后循环该数组

    第二个是使用
    delete
    操作符完成的

    因此:

    实例:

    var theObject={
    风格:“水果”,
    来源:“泰国”,
    第18天,
    颜色:“,
    权重:空
    };
    log(“Before:,JSON.stringify(theObject,null,2));
    Object.keys(对象).forEach(函数(键){
    var值=对象[键];
    如果(值===“”| |值===null){
    删除对象[键];
    }
    });
    
    log(“After:,JSON.stringify(theObject,null,2))
    您可以在中使用for..遍历循环以查找哪个键具有
    null

    然后使用
    delete
    删除密钥

    var myObj = {
      style: "fruit",
      origin: "Thailand",
      day: "18d",
      color: "",
      weight: null
    }
    
    for(var keys in myObj){
     if(myObj[keys] ===null || myObj[keys] === ""){
      delete myObj[keys]
     }
    }
    console.log(myObj)
    

    可以使用以下代码完成:

    var map = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
    
    for (var i in map){
        if(map[i]==null || map[i]==""){
           delete(map[i]);
     }
    }
    

    一个简单的解决方案是迭代抛出对象的键并将匹配的属性推送到结果数组中:

    var input = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
    var keys = Object.keys(input);
    var result = {};
    keys.forEach(key => {if (input[key] != null && input[key] != "") result[key] = input[key]});
    console.log(result); // { style: 'fruit', origin: 'Thailand', day: '18d' }
    

    此答案的可能副本已标记为低质量。如果它回答了这个问题,考虑添加一点文本来解释它是如何工作的。
    var yourObj={style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null}
    
    for(var attr in yourObj){
      if(!yourObj[attr]){
        delete yourObj[attr]
      }
    }
    
    var map = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
    
    for (var i in map){
        if(map[i]==null || map[i]==""){
           delete(map[i]);
     }
    }
    
    var input = {style: "fruit", origin: "Thailand", day: "18d", color: "", weight: null};
    var keys = Object.keys(input);
    var result = {};
    keys.forEach(key => {if (input[key] != null && input[key] != "") result[key] = input[key]});
    console.log(result); // { style: 'fruit', origin: 'Thailand', day: '18d' }