demo() {
let data = [ // 模拟获取的数据
{"tid": "1478348630611169282", "region": "孟加拉"},
{"tid": "1478348630623752194", "region": null},
{"tid": "1478348630636335105", "region": "迪拜"},
{"tid": "1478348630644723713", "region": "希腊"},
{"tid": "1478348630653112321", "region": "希腊"},
{"tid": "1478348630665695233", "region": "迪拜"},
{"tid": "1478348630674083841", "region": "迪拜"},
{"tid": "1478348630686666753", "region": null},
{"tid": "1478348630699249666", "region": null},
{"tid": "1478348630711832578", "region": "塔吉克斯坦"},
{"tid": "1478348630724415489", "region": "塔吉克斯坦"},
{"tid": "1478348630732804098", "region": null},
{"tid": "1478348630741192705", "region": "摩洛哥"},
{"tid": "1478348630749581313", "region": "马来西亚"},
{"tid": "1478348630757969921", "region": "孟加拉"},
{"tid": "1478348630770552834", "region": "摩洛哥"},
{"tid": "1478348630783135746", "region": "摩洛哥"},
{"tid": "1483728779334529026", "region": "孟加拉"}
]
let distinct = [] //去重数据
let newDataArr = [] //新数据
data.sort()
data.forEach((item, index) => {
if (item.region == null) {
item.region = "未知"
}
distinct.push(item.region)
distinct = [...new Set(distinct)]
})
console.log(distinct) //["孟加拉", "未知", "迪拜", "希腊", "塔吉克斯坦", "摩洛哥", "马来西亚"]
distinct.forEach((item, index) => {
let count = 0 //记录数据出现的次数
for (let j = 0; j < data.length; j++) {
if (distinct[index] === data[j].region) {
count++
}
}
newDataArr.push({name: distinct[index], number: count})
})
console.log(newDataArr)
/* 去重后记录数据出现次数 -- 新数据
[
{"name": "孟加拉", "number": 3},
{"name": "未知", "number": 4},
{"name": "迪拜", "number": 3},
{"name": "希腊", "number": 2},
{"name": "塔吉克斯坦", "number": 2},
{"name": "摩洛哥", "number": 3},
{"name": "马来西亚", "number": 1}
]
*/
},
09-20
3072
