【发布时间】:2017-02-06 11:41:18
【问题描述】:
我正在尝试过滤掉一个对象,但不起作用....
这是代码:
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:对象,1:对象,2:对象,3:对象,4:对象,5:对象,6:对象,7:对象,8:对象} Uncaught (in promise) TypeError: obj.find is not a function(...)
注意:函数中没有定义obj,它来自另一个系统,但我写出来是为了说明你的定义
【问题讨论】:
-
Filter 是一个数组方法。如果你这样做
let obj = [{,那么没有错误 -
你不能对
Object进行过滤。 -
Object.assign({}, [])毫无意义。
标签: javascript reactjs ecmascript-6 redux react-redux