繁体   English   中英

javascript如何使用过滤器功能过滤对象?

[英]how to filter object in javascript using filter function?

我正在尝试使用过滤器功能过滤javascript对象。但是我没有定义错误键。这是我的代码https://jsfiddle.net/13n8n3om/

var arr=[
  {
    "EX": {

      "division": "abc",
      "is_active": true,

    }
  },
 {
    "PY": {

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

    }
  }
];

 arr = arr.filter(function(obj) {
                return obj[key] !== 'EX';
            });

            console.log(arr)

预期产量

[

 {
    "PY": {

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

    }
  }
]

更换

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

return Object.keys(obj)[0] !== 'EX';

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

只需检查对象的键是否与给定的字符串不相等。

 var arr = [{ "EX": { "division": "abc", "is_active": true, } }, { "PY": { "division": "pqwww", "is_active": false, } }]; arr = arr.filter(function (obj) { return Object.keys(obj)[0] !== 'EX'; }); document.write('<pre>' + JSON.stringify(arr, 0, 4) + '</pre>'); 

您需要检查obj是否不是EX例如:

arr = arr.filter(function(obj, key) {
          if (! obj.EX) {
              return obj;
          }
       });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM