Ad Code

Responsive Advertisement

Array operations

get unique Array code let arr = [
{a:1, time: 1602789680114},
{a:2, time: 1579116080114},
{a:3, time: 1584300080114},
{a:4, time: 1552677680114},
{a:4, time: 1552677680114},
{a:5, time: 1568575280114},
{a:6, time: 1537039280114},
{a:7, time: 1523820080114},
{a:8, time: 1492284080114},
{a:9, time: 1463340080114},
{a:10, time: 1463340080114}
]
let moment = require('moment');
let arr2 = arr.map(a => {
a.time =
`${new Date(a.time).getFullYear()}-${new Date(a.time).getMonth() < 10 ? '0'+new Date(a.time).getMonth() : new Date(a.time).getMonth()}-${new Date(a.time).getDate() < 10 ? '0'+new Date(a.time).getDate() : new Date(a.time).getDate()}` if(moment(a.time).isBetween('2017-01-03', '2020-01-01') === true) return a return null })

let _ = require('lodash');

///let ans = _.remove([2,3,4], (a)=> a == 4)
//let unique = _.sortedUniq([1,1,1,2,3,4,4,4,5,6,7,8,8,7,6])
let unionBy = _.unionBy(arr2, arr2, 'time')

console.log(unionBy, arr2);
---------------------------------------------------------without lodash-------------------------------------------------------
// operation for one day one date and date in between and get date by range


// if (dateFrom) queryFilter.dateFrom = {
// $gte: new Date(dateFrom).getTime(),
// $lt: new Date(new Date(dateFrom).setDate(new Date(dateFrom).getDate() + 1)).getTime()
// }
// if (dateTo) queryFilter.dateTo = {
// $gte: new Date(dateFrom).getTime(),
// $lt: new Date(new Date(dateFrom).setDate(new Date(dateFrom).getDate() + 1)).getTime()
// }

/*
2014-06-18T11:07:13.292Z - 1403089633292
2015-05-31T16:27:13.292Z - 1433089633292
2015-09-24T10:13:53.292Z - 1443089633292
2016-01-18T04:00:33.292Z - 1453089633292
2016-05-12T21:47:13.292Z - 1463089633292
2016-09-05T15:33:53.292Z - 1473089633292
2016-12-30T09:20:33.292Z - 1483089633292
2017-04-25T03:07:13.292Z - 1493089633292
2017-05-18T06:40:33.292Z - 1495089633292
2017-12-12T14:40:33.292Z - 1513089633292
2019-08-18T00:53:53.292Z - 1566089633292
2021-02-12T00:27:13.292Z - 1613089633292
2020-09-14T13:20:33.292Z - 1600089633292
2021-01-08T07:07:13.292Z - 1610089633292
2021-02-12T00:27:13.292Z - 1613089633292
2021-03-18T17:47:13.292Z - 1616089633292
2022-10-18T10:40:33.292Z - 1666089633292
*/

//>=
// new Date(dateFrom).getTime(),
// // <
// new Date(new Date(dateFrom)
// .setDate(new Date(dateFrom)
// .getDate() + 1))
// .getTime()

const moment = require('moment');

// 2015-05-31T16:27:13.292Z
// 2021-03-18T17:47:13.292Z
let arr = [
{ i: 1, o: "2014-06-18T11:07:13.292Z", t: 1403089633292 },
{ i: 2, o: "2015-05-31T16:27:13.292Z", t: 1433089633292 },
{ i: 3, o: "2015-05-31T16:27:16.292Z", t: 1433089633292 },
{ i: 4, o: "2015-09-24T10:13:53.292Z", t: 1443089633292 },
{ i: 5, o: "2016-01-18T04:00:33.292Z", t: 1453089633292 },
{ i: 6, o: "2016-05-12T21:47:13.292Z", t: 1463089633292 },
{ i: 7, o: "2016-05-12T21:47:19.292Z", t: 1463089633292 },
{ i: 8, o: "2016-09-05T15:33:53.292Z", t: 1473089633292 },
{ i: 9, o: "2016-12-30T09:20:33.292Z", t: 1483089633292 },
{ i: 10, o: "2017-04-25T03:07:13.292Z", t: 1493089633292 },
{ i: 11, o: "2017-05-18T06:40:33.292Z", t: 1495089633292 },
{ i: 12, o: "2017-12-12T14:40:33.292Z", t: 1513089633292 },
{ i: 13, o: "2019-08-18T00:53:53.292Z", t: 1566089633292 },
{ i: 14, o: "2019-08-18T00:53:54.292Z", t: 1566089633292 },
{ i: 15, o: "2021-02-12T00:27:13.292Z", t: 1613089633292 },
{ i: 16, o: "2021-02-12T00:27:19.292Z", t: 1613089633292 },
{ i: 17, o: "2020-09-14T13:20:33.292Z", t: 1600089633292 },
{ i: 18, o: "2021-01-08T07:07:13.292Z", t: 1610089633292 },
{ i: 19, o: "2021-02-12T00:27:13.292Z", t: 1613089633292 },
{ i: 20, o: "2021-03-18T17:47:13.292Z", t: 1616089633292 },
{ i: 21, o: "2022-10-18T10:40:33.292Z", t: 1666089633292 }
]


result = arr.filter((ar1, index, self) =>
index === self.findIndex((t) => (
moment(t.t).format('DD MM YYYY') === moment(ar1.t).format('DD MM YYYY')
))
)

let last = new Date(new Date(1616089633292)
.setDate(new Date(1616089633292)
.getDate() - 30))
.getTime()
last = moment(last).format('YYYY-MM-DD')
// last = undefined;
console.log(last)
let lastlimit = result.map(dt => {
let arrdt = moment(dt.t).format('YYYY-MM-DD')
let dtfrom = moment(1495089633292).format('YYYY-MM-DD')
let dtto = moment(1616089633292).format('YYYY-MM-DD')
if (last && moment(arrdt).isAfter(last)) return dt;
if (moment(arrdt).isBetween(dtfrom, dtto)) return dt;
return false+JSON.stringify(dt)
})

console.log(result.length, arr.length, last, lastlimit)
//



Array object - remove dplicate object from the array

categoriesList = categoriesList.filter((category: any, index: number, self: any) =>
index === self.findIndex((t: any) => (
t.name === category.name && t.categoryId === category.categoryId
))
)
Array - remove dplicate element from the array

categoryList = categoryList.filter((category: any, index: number, self: any) =>
index === self.findIndex((t: any) => (
t === category
))
)


Post a Comment

0 Comments

Close Menu