javascript - 检查数组中是否有重复值、获取值并获取计数

标签 javascript arrays

我已将随机数量的字符串放入数组中。

var array = ["car", "plane", "plane", "car", "car"];

我想检索数组值并获取它们被插入数组的次数。 即E

var a = "car";
var aCount = 3;
var b = "plane";
var bCount = 2;

var text = "'" + a + "'" + " was found " + aCount + " times";
return text

我不明白如何使用循环将 array[i] 与数组的所有其他值进行比较,特别是考虑到 array.length 是随机确定的?

谢谢

最佳答案

创建一个对象,并将键设置为数组值并开始计数!

var arrayMap = {};
for (var i = 0; i < array.length; i++) {
    if (arrayMap.hasOwnProperty(array[i])) {
        arrayMap[array[i]]++;
    } else {
        arrayMap[array[i]] = 1;
    }
}

arrayMap 现在将包含所有数组值的计数。

演示:http://jsfiddle.net/oe0x6dbg/

关于javascript - 检查数组中是否有重复值、获取值并获取计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26237031/

相关文章:

Java程序使用方法查找用户输入的项目的索引

javascript - 向数组元素添加事件

javascript - 如何使用 javascript 捕获 mailto 并重定向到 gmail 等浏览器邮件?

javascript - 这个解决方案可以兼容 IE7 和 IE6 吗?

c - 如何从字符数组中提取运算符?

php - 在 PHP 中计算数组的中位数

javascript - 使用 PHP 将 JS 数组插入 MySQL 的最简单方法

javascript - 如何检查用户是否正在刷新页面或导航到其他页面

ios - 使用 UISwitch 从数组中删除对象

C#:不使用数组将字符串(或用户输入)拆分为单个字符?