Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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中的对象?_Javascript_Jquery - Fatal编程技术网

如何使用过滤函数过滤javascript中的对象?

如何使用过滤函数过滤javascript中的对象?,javascript,jquery,Javascript,Jquery,我正在尝试使用filter函数过滤javascript对象。但我得到的错误键没有定义。这是我的代码 预期产出 [ { "PY": { "division": "pqwww", "is_active": false, } } ] 替换 return obj[key] !== 'EX'; 与 基本上,您需要访问obj的第一个属性,而key是未定义的。替换 return obj[key] !== 'EX'; 与 基本上,您需要访问obj的第一

我正在尝试使用filter函数过滤javascript对象。但我得到的错误键没有定义。这是我的代码

预期产出

[

 {
    "PY": {

      "division": "pqwww",
      "is_active": false,

    }
  }
]
替换

return obj[key] !== 'EX';

基本上,您需要访问obj的第一个属性,而key是未定义的。

替换

return obj[key] !== 'EX';


基本上,您需要访问obj的第一个属性,并且key未定义。

只要检查对象的key是否与给定字符串不相等即可

var arr=[{“EX”:{“division”:“abc”,“is_active”:true,}},{“PY”:{“division”:“pqwww”,“is_active”:false,}];
arr=arr.filter(功能(obj){
返回Object.keys(obj)[0]!=='EX';
});

document.write(''+JSON.stringify(arr,0,4)+'')如果对象的键与给定字符串不相等,只需检查该键即可

var arr=[{“EX”:{“division”:“abc”,“is_active”:true,}},{“PY”:{“division”:“pqwww”,“is_active”:false,}];
arr=arr.filter(功能(obj){
返回Object.keys(obj)[0]!=='EX';
});

document.write(''+JSON.stringify(arr,0,4)+'')
您需要检查
obj
是否与
EX
类似:


您需要检查
obj
是否与
EX
类似:


那是因为你从来没有定义过键
obj[Object.keys(obj)[0]]
可能会起作用。
obj.hasOwnProperty('EX')
应该起作用@Andy如果
obj
有多个属性,它可能不起作用。是的,那更好。我总是忘了那个方法。那是因为你从来没有定义过
key
obj[Object.keys(obj)[0]]
可能会起作用。
obj.hasOwnProperty('EX')
应该起作用@Andy如果
obj
有多个属性,它可能不起作用。是的,那更好。我总是忘记那个方法。@user944513请再次更正它。。。尼娜的答案应该对你有用。@user944513再次更正它。。。尼娜的回答应该对你有用。
return Object.keys(obj)[0] !== 'EX';
arr = arr.filter(function(obj, key) {
          if (! obj.EX) {
              return obj;
          }
       });