gpt4 book ai didi

javascript - 总结一个javascript字符串数组

转载 作者:行者123 更新时间:2023-11-30 13:18:31 24 4
gpt4 key购买 nike

我有一个在 javascript 中声明的可变长度字符串数组,其中包含 Dungeons and Dragons 类名。下面是一个例子:

var class_names = new Array("Wizard", "Wizard", "Wizard", "Sorcerer", 
"Sorcerer", "Ultimate Magus");

在我的 HTML 中,我使用 javascript window.onload 函数从 javascript 文件设置各种变量,以构建在本地显示的页面内容。

对于像名字这样的东西,这很简单:

document.getElementById('charname').innerHTML = name[0];

但是对于类(class)信息,我不想只是抽出一大串类(class)名称,我希望将其压缩。使用上面的示例“class_names”,我希望得到一个如下所示的字符串:

“法师 3、巫师 2、终极法师 1”

即每个类名后面的数字应该是在数组中找到的重复次数。

任何人都知道如何即时实现这一点,所以当我更改 javascript 文件以将更多类数据添加到 class_names 时,它会正确显示在我的 HTML 页面上吗?

预先感谢我在这个宠物项目上得到的任何帮助(即为我的事件中的每个 Angular 色创建一个 HTML 页面,可以作为 Angular 色表打印出来......这比手动为每个 Angular 色编写一个页面要好得多字符,或在 Vanilla 床单上手写)。

最佳答案

这很简单,只需遍历数组并计算重复次数即可。

var l = class_names.length, i, tmp = {}, ret = [];
for( i=0; i<l; i++) {
if( !tmp[class_names[i]]) tmp[class_names[i]] = 0;
tmp[class_names[i]]++;
}
for( i in tmp) {
if( tmp.hasOwnProperty(i)) {
ret.push(i+" "+tmp[i]);
}
}
// output is ret.join(", ");

关于javascript - 总结一个javascript字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11139881/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com