JSON 操作 - 对具有相同值的键进行计数,创建新对象并将计数作为值
JSON manipulation - count keys with same value, create new object with count as value
我想统计 JSON 个具有相同日期的节点,并创建一个以日期为键、计数为值的新对象。
那么,使用 jQuery 或 vanilla JS,我将如何转换它:
[
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "February 14"
},
{
"date": "February 14"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "December 11"
}
]
进入这个:
[
{
"January 1": 4 // Number or String "4", doesn't matter
},
{
"February 14": 2
},
{
"July 8": 3
},
{
"December 11": 1
}
]
尝试这样的事情。
const data = [
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "February 14"
},
{
"date": "February 14"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "December 11"
}
]
let counter = {}
data.forEach(function(obj) {
var key = obj.date
counter[key] = (counter[key] || 0) + 1
})
console.log(counter)
我想统计 JSON 个具有相同日期的节点,并创建一个以日期为键、计数为值的新对象。
那么,使用 jQuery 或 vanilla JS,我将如何转换它:
[
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "February 14"
},
{
"date": "February 14"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "December 11"
}
]
进入这个:
[
{
"January 1": 4 // Number or String "4", doesn't matter
},
{
"February 14": 2
},
{
"July 8": 3
},
{
"December 11": 1
}
]
尝试这样的事情。
const data = [
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "January 1"
},
{
"date": "February 14"
},
{
"date": "February 14"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "July 8"
},
{
"date": "December 11"
}
]
let counter = {}
data.forEach(function(obj) {
var key = obj.date
counter[key] = (counter[key] || 0) + 1
})
console.log(counter)