javascript - 如何计算某个名字出现的次数?

标签 javascript jquery count

这就是我正在尝试做的事情:

我有一个 API 响应,其中包含一个带有名称的字段。我成功地获得了响应,但使用 JavaScript 我想计算一个名称重复的次数。例如:

<span class="person_name">John</span>
<span class="person_name">John</span>
<span class="person_name">Stefany</span>
<span class="person_name">Steven</span>
<span class="person_name">Steven</span>

我希望能够计算出 John 出现了 2 次,Stefany 出现了 1 次,Steven 出现了 2 次。

到目前为止我尝试过什么?

$(function () {
            $.ajax({
                url: "API_CALL",
                dataType: 'jsonp',
                success: function (results) {
                    var imagesArray = new Array();
                    var allMedia = results.data._embedded.media;
                    for (var i = 0; i < allMedia.length; i++) {
                        var media1 = allMedia[i];
                        var imagesHtml = "<div id='person_item'>";
                        imagesHtml += "<span class='person_name'>{0}
</span>".replace("{0}", media1._embedded.person.name);
                        imagesHtml += "</div>";
                        imagesArray.push(media1.images.square);

                        $("#list").append(imagesHtml);
                    }
                    var numItems = $('.person_name').length
    console.log(numItems);
                }

            });

});

最佳答案

var results = {
    data: {
        _embedded: {
            media: [{
                _embedded: {
                    person: {name : 'John'}
                }
            },
            {
                _embedded: {
                    person: {name : 'John'}
                }
            },
            {
                _embedded: {
                    person: {name : 'Stefany'}
                }
            },
            {
                _embedded: {
                    person: {name : 'Steven'}
                }
            },
            {
                _embedded: {
                    person: {name : 'Steven'}
                }
            },{
                _embedded: {
                    person: {name : 'Steven'}
                }
            }]
        }
    }
};

var allMedia = results.data._embedded.media;
var countNames = {};
var name;
for (var i = 0; i < allMedia.length; i++) {
    var media1 = allMedia[i];
    name = media1._embedded.person.name;
    countNames[name]  = countNames.hasOwnProperty(name) ? ++countNames[name] : 1;
}
console.log(countNames);

我们创建一个变量来计算名称频率,并为数组中的每个名称更新该变量

关于javascript - 如何计算某个名字出现的次数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28386450/

相关文章:

javascript - 从 meteor 集合中检索数据

jQuery 淡入/淡出 onclick for a li

sql - PostgreSQL 中的 GROUP BY 和 COUNT

javascript - JSON.parse reviver函数嵌套对象

javascript - 使用 JavaScript 在 OpenLayers 中绘制一 strip 线的路径

javascript - 为什么在 `controller`中直接调用 `AngularJs`的函数不可以

javascript - 动态添加 jQuery multidatepicker "addDisabledDates"属性

javascript - 使用 jquery 动态添加目标按钮(无事件)

Python Pandas : Counting the Frequency of unique values over all Columns

MySQL 计算在单元格中显示为列表的数据的出现次数