我试图找到一种方法来计算我在这个数组中有多少每种类型的条目:
var types = [
"loc_67249556",
"loc_52558678",
"loc_62658330",
"gra_59669755",
"gra_59289309"
]
我的意思是“类型”是每个条目的 3 个首字母。我使用 for 循环遍历数组并提取 3 个第一个字母:
for (var i = 0; i < types.length; k++) {
var tp= types[k].split('_');
tp = tp[0];
}
这将输出 3 个第一个字母,但是我如何计算它们并以以后可以使用的方式保存?
类似于带有类型的新数组以及它们在第一个数组中出现的次数,类似于:
var types_count = [
{
type: "loc",
qnt: 3
},
{
type: "gra",
qnt: 2
}
]
此外,我总共拥有的“类型”是 51 种不同类型的条目,全部以 3 个这样的字母开头。
你可以使用 array.map检查这个
var getcount = function (types) {
var result = [];
types.map(obj => {
var key = obj.split('_')[0];
var tempArr = result.filter(item => item.key == key);
if (tempArr.length > 0) {
tempArr[0].count = tempArr[0].count + 1;
} else {
var tempitem = {
count: 1,
key: key
};
result.push(tempitem);
}
});
return result;
}
var types = [
"loc_67249556",
"loc_52558678",
"loc_62658330",
"gra_59669755",
"gra_59289309"
]
//to get result call it
var newArr = getcount(types);
console.log(newArr);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句