Javascript 过滤对象JS
我试图过滤掉一个对象,但不起作用 代码如下:Javascript 过滤对象JS,javascript,reactjs,ecmascript-6,redux,react-redux,Javascript,Reactjs,Ecmascript 6,Redux,React Redux,我试图过滤掉一个对象,但不起作用 代码如下: let obj = Object.assign({},[{ "_id": 1, "fecha": "2016-09-28T20:49:00.000Z" }, { "_id": 2, "fecha": "2016-09-26T20:48:00.000Z" }, { "_id": 3, "fecha": "2016-09-26T21:04:00
let obj = Object.assign({},[{
"_id": 1,
"fecha": "2016-09-28T20:49:00.000Z"
}, {
"_id": 2,
"fecha": "2016-09-26T20:48:00.000Z"
}, {
"_id": 3,
"fecha": "2016-09-26T21:04:00.000Z"
}, {
"_id": 4,
"fecha": "2016-09-23T21:02:00.000Z"
}, {
"_id": 14,
"fecha": "2016-09-24T21:02:00.000Z"
}, {
"_id": 15,
"fecha": "2016-09-24T21:01:00.000Z"
}, {
"_id": 17,
"fecha": "2016-09-23T19:04:00.000Z"
}, {
"_id": 18,
"fecha": "2016-09-23T19:24:00.000Z"
}, {
"_id": 23,
"fecha": "2016-09-23T21:04:00.000Z"
}]
);
console.log(obj);
let result = obj.filter(item => item._id == 1)[0];
console.log(result);
结果是:
对象{0:Object,1:Object,2:Object,3:Object,4:Object,5:Object,6:Object,7:Object,8:Object}
未捕获(承诺中)类型错误:obj.find不是函数(…)
注意:函数中未定义obj,它来自另一个系统,但我写此代码是为了显示您的定义,我不能在
对象上使用数组方法。假设您收到obj
变量作为对象。您应该将其转换为数组。试试这个:
Object.keys(obj).map((i) => obj[i]).filter(e => e._id === 1)
过滤器是一种数组方法。如果您执行让obj=[{
则没有错误您无法对对象进行筛选。分配({},[])
是没有意义的。请将其作为问题的答案进行检查。谢谢!=)