1. 需求
- 原始数组:
[‘包子’, ‘馒头’, ‘花卷’, ‘汤包’, ‘馒头’]
- 将其格式化为:
[
{ name: ‘包子’, value: 1 },
{ name: ‘馒头’, value: 2 },
{ name: ‘花卷’, value: 1 },
{ name: ‘汤包’, value: 1 }
]
2. 实现
2.1 统计字符串数组中,各字符串出现的次数,构成哈希表
let arr = ["包子", "馒头", "花卷", "汤包", "馒头"];
let map = {};
// 遍历列表数据
for (let i = 0; i < arr.length; i++) {
var name = arr[i];
if (map[name]) {
map[name] += 1;
} else {
map[name] = 1;
}
}
console.log(map);
结果:
2.2 遍历哈希表,对其进行格式化
let resList = [];
// 遍历hash表
for (let name in map) {
let item = {};
item["name"] = name;
item["value"] = map[name];
resList.push(item);
}
console.log(resList);
结果:
3. 完整代码
let arr = ["包子", "馒头", "花卷", "汤包", "馒头"];
let map = {};
// 遍历列表数据
for (let i = 0; i < arr.length; i++) {
var name = arr[i];
if (map[name]) {
map[name] += 1;
} else {
map[name] = 1;
}
}
console.log(map);
let resList = [];
// 遍历hash表
for (let name in map) {
let item = {};
item["name"] = name;
item["value"] = map[name];
resList.push(item);
}
console.log(resList);
版权声明:本文为weixin_44109827原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。