【发布时间】:2018-08-12 14:27:12
【问题描述】:
我正在学习 d3 的 javascript 并且正在研究一些基本的数据操作的东西。我有一个简单的年/月/出生数据 JSON 对象,如下所示:
var birthData = [
{
"year": 1967,
"month": "January",
"births": 31502
},
{
"year": 1967,
"month": "January",
"births": 26703
},
{
"year": 1967,
"month": "February",
"births": 28853
},
{
"year": 1967,
"month": "February",
"births": 26958
},
{
"year": 1967,
"month": "February",
"births": 28591
},
{
"year": 1967,
"month": "March",
"births": 29545
},
{
"year": 1967,
"month": "March",
"births": 30086
}]
我想简单地创建一个出现在这个 JSON 对象中的唯一月份数组,如下所示:
["January", "February", "March"]
我宁愿避免使用这种方法
var months = [];
for(var i = 0; i <= birthData.length; i++) {
var month = birthData[i].month
if(months.indexOf(month) === -1) {
months.push(month)
}
}
有没有更有效的方法来做到这一点?
编辑:作为一个快速跟进的问题,是否有任何非常好的资源用于学习使用 javascript 进行数据操作(特别是使用 d3 或其他图形库)。在 javascript 中快速使用数据操作会让我的生活更轻松!
【问题讨论】:
-
这个问题不需要 D3。您可以使用 JS 中内置的 Array 方法来做到这一点。
标签: javascript data-manipulation