Рейтинг:
9
Karthik_Mahalingam
пробовать
проверьте встроенные комментарии
var tempData = [{ "url": "http://google.com", "yyyy_mm": "2017-12", "skills": "C#", "count": 3 },
{ "url": "www.yahoo.com", "yyyy_mm": "2017-12", "skills": "asp.ner", "count": 4 },
{ "url": "yahoo.com", "yyyy_mm": "2017-12", "skills": "vb.net", "count": 10 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 5 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 6 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 10 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "vb.net", "count": 11 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "json", "count": 100 }];
var distinct = []; // array to store unique dates
for (var i = 0; i < tempData.length; i++) { // loop to find unique date
var item = tempData[i];
if (distinct.indexOf(item.yyyy_mm) == -1) // refer indexOf - Google
distinct.push(item.yyyy_mm);
}
var finalArray = []; // array to store final output
for (var i = 0; i < distinct.length; i++) {
var count = 0;
for (var j = 0; j < tempData.length; j++) {
if (distinct[i] == tempData[j].yyyy_mm) // find the matching items form the main array with respect to each item from distinct
count += tempData[j].count;
}
finalArray.push({"yyyy_mm":distinct[i],"count":count}) // add the count to the final array
}
Member 11052432
Привет, спасибо за быстрый ответ.
Я также хочу построить данные в формате JSON, например
Варе данных tempdata = [{ "адрес": "http://google.com", "yyyy_mm": "2017-12", "навыки": "с#", "Граф": 17 },
{ "url": "yahoo.com", "гггг_мм": "2017-11", "навыки": "vb.net", "граф": 21 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "json", "count": 111}];
Не могли бы вы дать мне решение?
Большое спасибо !!!!!!
Karthik_Mahalingam
как вы писали google.com
с 2017-12 года есть google, а также yahoo.
Member 11052432
Варе данных tempdata = [{ "адрес": "http://google.com", "yyyy_mm": "2017-12", "навыки": "с#", "Граф": 3 },
{ "url": "http://www.google.com", "yyyy_mm": "2017-12", "навыки": "asp.ner", "count": 4 },
{ "url": "http://google.com", "гггг_мм": "2017-12", "навыки": "vb.net", "граф": 10 },
{ "url": "yahoo.com", "гггг_мм": "2017-11", "навыки": "vb.net", "граф": 5 },
{ "url": "yahoo.com", "гггг_мм": "2017-11", "навыки": "vb.net", "граф": 6 },
{ "url": "yahoo.com", "гггг_мм": "2017-11", "навыки": "vb.net", "граф": 10 },
{ "url": "yahoo.com", "гггг_мм": "2017-10", "навыки": "vb.net", "граф": 11 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "json", "count": 100 }];
Не могли бы вы предоставить решение, как показано ниже?
Варе данных tempdata = [{ "адрес": "http://google.com", "yyyy_mm": "2017-12", "навыки": "с#", "Граф": 17 },
{ "url": "yahoo.com", "гггг_мм": "2017-11", "навыки": "vb.net", "граф": 21 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "json", "count": 111}];
Karthik_Mahalingam
var tempData = [{ "url": "http://google.com", "yyyy_mm": "2017-12", "skills": "C#", "count": 3 },
{ "url": "http://www.google.com", "yyyy_mm": "2017-12", "skills": "asp.ner", "count": 4 },
{ "url": "http://google.com", "yyyy_mm": "2017-12", "skills": "vb.net", "count": 10 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 5 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 6 },
{ "url": "yahoo.com", "yyyy_mm": "2017-11", "skills": "vb.net", "count": 10 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "vb.net", "count": 11 },
{ "url": "yahoo.com", "yyyy_mm": "2017-10", "skills": "json", "count": 100 }];
var distinct = []; // array to store unique dates
for (var i = 0; i < tempData.length; i++) { // loop to find unique date
var item = tempData[i];
if (distinct.indexOf(item.yyyy_mm) == -1) // refer indexOf - Google
distinct.push(item.yyyy_mm);
}
var finalArray = []; // array to store final output
for (var i = 0; i < distinct.length; i++) {
var count = 0;
var item = undefined;
for (var j = 0; j < tempData.length; j++) {
if (distinct[i] == tempData[j].yyyy_mm) // find the matching items form the main array with respect to each item from distinct
{
if (count == 0)
item = tempData[j];
count += tempData[j].count;
}
if (item)
item.count = count;
}
finalArray.push(item) // add the count to the final array
}
Member 11052432
Большое спасибо... это действительно сработало.
Karthik_Mahalingam
добро пожаловать