我注意到如果我将“2018-01-01”转换为日期格式,我会得到2017
,如果我使用.getFullYear()方法,则返回new Date("2018-01-01").getFullYear()
。这是为什么?
2017
返回var d = new Date("2018-01-01");
console.log(d.getFullYear());
var array1 = [{ Name: 'Roger', Country: 'Spain' }, { Name: 'Tiger', Counry: 'USA' }, { Name: 'Micheal', Country: 'USA' }],
array2 = [{ Name: 'sachin', Country: 'India' }, { Name: 'Roger', Country: 'Spain' }],
hash = Object.create(null),
result = [array1, array2].reduce(function (r, a) {
a.forEach(function (o) {
var key = ['Name', 'Country'].map(k => o[k]).join('|');
if (!hash[key]) {
r.push(o);
hash[key] = true;
}
});
return r;
}, []);
console.log(result);
答案 0 :(得分:-1)
这可能是由于您当地的时区,请尝试使用getUTCFullYear()。