如何使用过滤函数过滤javascript中的对象?
我正在尝试使用filter函数过滤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的第一
[
{
"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;
}
});