Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.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_Arrays_Object_Distinct - Fatal编程技术网

如何从Javascript中的对象列表中获取不同的年份

如何从Javascript中的对象列表中获取不同的年份,javascript,arrays,object,distinct,Javascript,Arrays,Object,Distinct,我在Javascript中得到了以下对象,我想返回一个与createdOn值不同的年份列表: 我尝试了以下操作,但它返回一个空数组: const things=[{ “id”:1, “标题”:“第一件事”, “createdOn”:“2017-12-07T15:44:50.123” }, { “id”:2, “头衔”:“第二件事”, “createdOn”:“2018-05-07T09:10:24.123” }, { “id”:3, “头衔”:“第三件事”, “createdOn”:“2018

我在Javascript中得到了以下对象,我想返回一个与
createdOn
值不同的年份列表:

我尝试了以下操作,但它返回一个空数组:

const things=[{
“id”:1,
“标题”:“第一件事”,
“createdOn”:“2017-12-07T15:44:50.123”
},
{
“id”:2,
“头衔”:“第二件事”,
“createdOn”:“2018-05-07T09:10:24.123”
},
{
“id”:3,
“头衔”:“第三件事”,
“createdOn”:“2018-12-07T12:07:50.123”
},
{
“id”:4,
“头衔”:“第四件事”,
“createdOn”:“2018-12-07T16:39:29.123”
}
]

console.log(things.map(thing=>newdate(thing.createdOn).getFullYear()).filter((value,index,self)=>self.indexOf(value)==index))
您在调用
.map()
时使用了拼写错误的参数,即用
事件替换
thing
。您还可以使用
Set
获取唯一值:

const数据=[
{“id”:1,“标题”:“第一件事”,“createdOn”:“2017-12-07T15:44:50.123”},
{“id”:2,“title”:“第二件事”,“createdOn”:“2018-05-07T09:10:24.123”},
{“id”:3,“title”:“第三件事”,“createdOn”:“2018-12-07T12:07:50.123”},
{“id”:4,“title”:“第四件事”,“createdOn”:“2018-12-07T16:39:29.123”}
];
const result=[…新集合(data.map(event=>newdate(event.createdOn.getFullYear()))];

控制台日志(结果)使用映射参数中的
thing
而不是
event
,即
things.map(thing=>)
您的代码将正常工作。我的打字错误
新日期(thing.createdOn)
->
新日期(event.createdOn)
啊,你比我先到了!设定无疑是一条路要走。