0

I have two arrays.

Here is my array.

 var arr=[
"08-01-2017",
"07-31-2017",
"07-30-2017",
"07-29-2017",
"07-28-2017",
"07-27-2017",
"07-26-2017"]

Here is another array

 var arr1= [
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "Home",
        "REFERER": "",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-31T05:44:06.743Z",
        "S_ID": "80067826-0cad-4806-b40e-8e5d8be18e53",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20a636c81d38dc77c626"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-30T05:44:22.425Z",
        "S_ID": "7fe1795a-5064-43d7-9a62-48b0f156a2c3",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20b636c81d38dc77c627"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:45:25.064Z",
        "S_ID": "439667fe-ab24-4bf6-959e-152a4f631fe3",
        "C_ID": "595f40038c4d19b50ac21b98",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20f536c81d38dc77c628"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductdetailsPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:45:39.047Z",
        "S_ID": "a21c273a-372e-4a81-9997-d468d5efd299",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c210236c81d38dc77c629"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "Home",
        "REFERER": "",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-28T05:47:15.604Z",
        "S_ID": "a4278659-8053-45fd-8a95-78766fd7541b",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216336c81d38dc77c62a"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-27T05:47:22.700Z",
        "S_ID": "874bb326-ab02-4061-a029-bef5977d4c65",
        "C_ID": "595f40038c4d19b50ac21b98",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216b36c81d38dc77c62b"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "CartPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-27T05:47:25.758Z",
        "S_ID": "dd9096f9-79ea-4d86-81ce-149e364ab1ed",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216d36c81d38dc77c62c"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductdetailsPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:47:42.047Z",
        "S_ID": "4ed84c84-80ec-4494-9ffe-453f19e2c079",
        "C_ID": "1",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c217d36c81d38dc77c62d"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "CartPage",
        "REFERER": "ProductdetailsPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:47:45.174Z",
        "S_ID": "91153a97-d79e-4d86-9872-5df51bd7e82f",
        "C_ID": "1",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c218136c81d38dc77c62e"
      },
      {
        "HOST": "",
        "U_ID": "59687ee6cd62a604e2bb0d1f",
        "PATH": "CustomershippingPage",
        "REFERER": "cartPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:48:20.386Z",
        "S_ID": "46866f41-9f43-4d28-a602-490db68dc029",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "597c21a336c81d38dc77c62f",
        "O_ID": "",
        "id": "597c21a436c81d38dc77c630"
      },
      {
        "HOST": "",
        "U_ID": "59687ee6cd62a604e2bb0d1f",
        "PATH": "customerpayment",
        "REFERER": "CustomershippingPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-01-08T05:48:46.356Z",
        "S_ID": "56ad3bd7-854b-42e9-8443-46c514eb2ece",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "597c21a336c81d38dc77c62f",
        "O_ID": "",
        "id": "597c21be36c81d38dc77c631"
       }
    ]

I need compare two arrays.find matches values and also count.

Example arr is a list of date.Compare the another array arr1 based on DATE_TIME

08-01-2017 is repeated one time. and 07-29-2017 is repeated five times.

I need this output

 08-01-2017 - 2 <- Count(How many times repeated)
 07-29-2017 - 5
 07-28-2017 - 3 etc..

Each(arr) values are how many times repeated.

I have no idea.

Kindly advice me,

Thanks

2
  • what output do you expected? this? [{d: 08-01-2017, c: 2}, [{d: 01-01-2010, c: 0}, ...] Commented Aug 1, 2017 at 7:57
  • The date formats in your array are not the same. 8-1-2017 doesn't occur in arr1 if you parse all of them Commented Aug 1, 2017 at 8:25

4 Answers 4

2

You could normalize your dates to an ISO 6801 string, as the timestamp of DATE_TIME is like. Then add just one in an object with dates as key.

var data = [{ DATE_TIME: "2017-07-31T05:44:06.743Z" }, { DATE_TIME: "2017-07-30T05:44:22.425Z" }, { DATE_TIME: "2017-07-29T05:45:25.064Z" }, { DATE_TIME: "2017-07-29T05:45:39.047Z" }, { DATE_TIME: "2017-07-28T05:47:15.604Z" }, { DATE_TIME: "2017-07-27T05:47:22.700Z" }, { DATE_TIME: "2017-07-27T05:47:25.758Z" }, { DATE_TIME: "2017-07-29T05:47:42.047Z" }, { DATE_TIME: "2017-07-29T05:47:45.174Z" }, { DATE_TIME: "2017-07-29T05:48:20.386Z" }, { DATE_TIME: "2017-01-08T05:48:46.356Z" }],
    dates = ["08-01-2017", "07-31-2017", "07-30-2017", "07-29-2017", "07-28-2017", "07-27-2017", "07-26-2017"],
    count = Object.create(null);

dates.forEach(function (d) {
    count[d.replace(/(..)-(..)-(....)/, '$3-$1-$2')] = 0;
});
data.forEach(function (o) {
    var key = o.DATE_TIME.slice(0, 10);
    (key in count) && count[key]++;
});
   
console.log(count);
.as-console-wrapper { max-height: 100% !important; top: 0; }

Sign up to request clarification or add additional context in comments.

Comments

1

You can extract out the date from your ISO date and then User array#reduce and array#filter to count the number of occurrences.

const arr=["08-01-2017","07-31-2017","07-30-2017","07-29-2017","07-28-2017","07-27-2017","07-26-2017"];
const arr1= [
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "Home",
        "REFERER": "",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-31T05:44:06.743Z",
        "S_ID": "80067826-0cad-4806-b40e-8e5d8be18e53",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20a636c81d38dc77c626"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-30T05:44:22.425Z",
        "S_ID": "7fe1795a-5064-43d7-9a62-48b0f156a2c3",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20b636c81d38dc77c627"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:45:25.064Z",
        "S_ID": "439667fe-ab24-4bf6-959e-152a4f631fe3",
        "C_ID": "595f40038c4d19b50ac21b98",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c20f536c81d38dc77c628"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductdetailsPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:45:39.047Z",
        "S_ID": "a21c273a-372e-4a81-9997-d468d5efd299",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c210236c81d38dc77c629"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "Home",
        "REFERER": "",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-28T05:47:15.604Z",
        "S_ID": "a4278659-8053-45fd-8a95-78766fd7541b",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216336c81d38dc77c62a"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductlistPage",
        "REFERER": "Home",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-27T05:47:22.700Z",
        "S_ID": "874bb326-ab02-4061-a029-bef5977d4c65",
        "C_ID": "595f40038c4d19b50ac21b98",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216b36c81d38dc77c62b"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "CartPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-27T05:47:25.758Z",
        "S_ID": "dd9096f9-79ea-4d86-81ce-149e364ab1ed",
        "C_ID": "1",
        "C_NAME": "Sparklers",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c216d36c81d38dc77c62c"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "ProductdetailsPage",
        "REFERER": "ProductlistPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:47:42.047Z",
        "S_ID": "4ed84c84-80ec-4494-9ffe-453f19e2c079",
        "C_ID": "1",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c217d36c81d38dc77c62d"
      },
      {
        "HOST": "",
        "U_ID": "",
        "PATH": "CartPage",
        "REFERER": "ProductdetailsPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:47:45.174Z",
        "S_ID": "91153a97-d79e-4d86-9872-5df51bd7e82f",
        "C_ID": "1",
        "P_ID": "595f3e418c4d19b50ac21b84",
        "P_NAME": "Martina",
        "CART_ID": "",
        "O_ID": "",
        "id": "597c218136c81d38dc77c62e"
      },
      {
        "HOST": "",
        "U_ID": "59687ee6cd62a604e2bb0d1f",
        "PATH": "CustomershippingPage",
        "REFERER": "cartPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-07-29T05:48:20.386Z",
        "S_ID": "46866f41-9f43-4d28-a602-490db68dc029",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "597c21a336c81d38dc77c62f",
        "O_ID": "",
        "id": "597c21a436c81d38dc77c630"
      },
      {
        "HOST": "",
        "U_ID": "59687ee6cd62a604e2bb0d1f",
        "PATH": "customerpayment",
        "REFERER": "CustomershippingPage",
        "AGENT": "",
        "OS": "",
        "DATE_TIME": "2017-01-08T05:48:46.356Z",
        "S_ID": "56ad3bd7-854b-42e9-8443-46c514eb2ece",
        "C_ID": "",
        "C_NAME": "",
        "P_ID": "",
        "P_NAME": "",
        "CART_ID": "597c21a336c81d38dc77c62f",
        "O_ID": "",
        "id": "597c21be36c81d38dc77c631"
       }
    ]

var result = arr.reduce((result, date) => {
  var occurances = arr1.filter((obj) => {
    let d = new Date(obj['DATE_TIME']);
    var day = d.getDate();
    var month = d.getMonth() + 1;
    var year = d.getFullYear();

    if(day < 10){
        day='0'+day;
    } 
    if(month<10){
        month='0'+month;
    } 
    var newDate = month+'-'+day+'-'+year;
   
    return date === newDate;
  }).length;
  result[date] = occurances;
  return result;
},{});

console.log(result);

2 Comments

it's a bit overcomplicated, isn't it?
@NinaScholz you write the most elegant code, yes, it's complicated.
1

you can initially iterate over arr and put all its dates in result as keys with value 0. then you can iterate over your arr1 and use each date as a key for result object and keep incrementing count for each date. something like this:

var arr=[
"08-01-2017",
"07-31-2017",
"07-30-2017",
"07-29-2017",
"07-28-2017",
"07-27-2017",
"07-26-2017"];

var arr1= [
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "Home",
    "REFERER": "",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-31T05:44:06.743Z",
    "S_ID": "80067826-0cad-4806-b40e-8e5d8be18e53",
    "C_ID": "",
    "C_NAME": "",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c20a636c81d38dc77c626"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "ProductlistPage",
    "REFERER": "Home",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-30T05:44:22.425Z",
    "S_ID": "7fe1795a-5064-43d7-9a62-48b0f156a2c3",
    "C_ID": "1",
    "C_NAME": "Sparklers",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c20b636c81d38dc77c627"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "ProductlistPage",
    "REFERER": "Home",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-29T05:45:25.064Z",
    "S_ID": "439667fe-ab24-4bf6-959e-152a4f631fe3",
    "C_ID": "595f40038c4d19b50ac21b98",
    "C_NAME": "Sparklers",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c20f536c81d38dc77c628"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "ProductdetailsPage",
    "REFERER": "ProductlistPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-29T05:45:39.047Z",
    "S_ID": "a21c273a-372e-4a81-9997-d468d5efd299",
    "C_ID": "1",
    "C_NAME": "Sparklers",
    "P_ID": "595f3e418c4d19b50ac21b84",
    "P_NAME": "Martina",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c210236c81d38dc77c629"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "Home",
    "REFERER": "",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-28T05:47:15.604Z",
    "S_ID": "a4278659-8053-45fd-8a95-78766fd7541b",
    "C_ID": "",
    "C_NAME": "",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c216336c81d38dc77c62a"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "ProductlistPage",
    "REFERER": "Home",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-27T05:47:22.700Z",
    "S_ID": "874bb326-ab02-4061-a029-bef5977d4c65",
    "C_ID": "595f40038c4d19b50ac21b98",
    "C_NAME": "Sparklers",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c216b36c81d38dc77c62b"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "CartPage",
    "REFERER": "ProductlistPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-27T05:47:25.758Z",
    "S_ID": "dd9096f9-79ea-4d86-81ce-149e364ab1ed",
    "C_ID": "1",
    "C_NAME": "Sparklers",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c216d36c81d38dc77c62c"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "ProductdetailsPage",
    "REFERER": "ProductlistPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-29T05:47:42.047Z",
    "S_ID": "4ed84c84-80ec-4494-9ffe-453f19e2c079",
    "C_ID": "1",
    "P_ID": "595f3e418c4d19b50ac21b84",
    "P_NAME": "Martina",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c217d36c81d38dc77c62d"
  },
  {
    "HOST": "",
    "U_ID": "",
    "PATH": "CartPage",
    "REFERER": "ProductdetailsPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-29T05:47:45.174Z",
    "S_ID": "91153a97-d79e-4d86-9872-5df51bd7e82f",
    "C_ID": "1",
    "P_ID": "595f3e418c4d19b50ac21b84",
    "P_NAME": "Martina",
    "CART_ID": "",
    "O_ID": "",
    "id": "597c218136c81d38dc77c62e"
  },
  {
    "HOST": "",
    "U_ID": "59687ee6cd62a604e2bb0d1f",
    "PATH": "CustomershippingPage",
    "REFERER": "cartPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-07-29T05:48:20.386Z",
    "S_ID": "46866f41-9f43-4d28-a602-490db68dc029",
    "C_ID": "",
    "C_NAME": "",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "597c21a336c81d38dc77c62f",
    "O_ID": "",
    "id": "597c21a436c81d38dc77c630"
  },
  {
    "HOST": "",
    "U_ID": "59687ee6cd62a604e2bb0d1f",
    "PATH": "customerpayment",
    "REFERER": "CustomershippingPage",
    "AGENT": "",
    "OS": "",
    "DATE_TIME": "2017-01-08T05:48:46.356Z",
    "S_ID": "56ad3bd7-854b-42e9-8443-46c514eb2ece",
    "C_ID": "",
    "C_NAME": "",
    "P_ID": "",
    "P_NAME": "",
    "CART_ID": "597c21a336c81d38dc77c62f",
    "O_ID": "",
    "id": "597c21be36c81d38dc77c631"
   }
];

var result = {};


arr.forEach(function(date){
   result[date] = 0;
})


arr1.forEach(function(ob){
    var date = new Date(ob['DATE_TIME']);
    var m = date.getMonth() + 1;
    m = m > 9 ? m : '0' + m;
    var d = date.getDate() + 1;
    d = d > 9 ? d : '0' + d;
    date = m + '-' + d + '-' +  date.getFullYear();
    result[date] = date in result ? parseInt(result[date]) + 1 : 1;
})


console.log(result);

2 Comments

Where exactly are you comparing arr1 with arr? I think you miss understood his question
@masterfan it was more likely to be an idea, check now, i have update code.
0

It seems safe to assume that date parts have a fixed number of characters. Therefore:

arr1.reduce((acc, item) => {
  const key = item.DATE_TIME.substr(0,10);
  if (arr.hasOwnProperty(key)) { acc[key] = (acc[key] || 0) + 1 }
  return acc;
}, {})

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.