我有两个链接的对象
{scope: "T4251", data: Array(500)}
{scope: "T7910", data: Array(500)}
{scope: "T213910", data: Array(500)}
,数据对象由这些字段中的500个组成(作用域链接到下面)
{@id: "eddnsf", dateTime: "2018-12-12T07:30:00Z", value: -0.045}
{@id: "sfdkjk", dateTime: "2018-12-12T04:30:00Z", value: -0.345}
{@id: "dfjewf", dateTime: "2018-11-12T02:00:00Z", value: -0.445}
{@id: "dfjewf", dateTime: "2018-10-12T04:40:00Z", value: -0.045}
{@id: "dfjewf", dateTime: "2018-10-12T06:00:00Z", value: -0.145}
{@id: "dfjewf", dateTime: "2018-10-12T02:00:00Z", value: -0.045}
如何通过首先获取唯一的“作用域”对象然后再从范围的数组对象中包含的数据数组中每个日期对象(必须是唯一的)仅捕获一次dateTime来迭代此多对象?
我希望将唯一的dateTime放入单个数组中
数组应导致:
[unique dateTime, unique dateTime, unique dateTime]
答案 0 :(得分:1)
您可以使用两个功能来做到这一点。 首先收集dateTimes
const extractField= (data, field) => data.map( obj => obj[field])
第二个过滤双打
const filterDoubles = array => array.reduce( (result, item) => result.indexOf(item) > -1 ? result : result.concat(item),[])
然后:
filterDoubles(extractField(yourObject, 'dateTime'));