gpt4 book ai didi

javascript - 显示唯一的对象名称及其出现次数

转载 作者:行者123 更新时间:2023-12-02 16:49:17 24 4
gpt4 key购买 nike

给定以下示例对象:

Object {color: green, total: 0}
Object {color: red, total: 0}
Object {color: blue, total: 0}
Object {color: blue, total: 0}
Object {color: green, total: 0}

如何有效地循环并显示唯一颜色名称及其总出现次数?

期望的输出:

green: 2
red: 1
blue: 2

实际输出:

green: 1
red: 1
blue: 1

我正在循环遍历矩阵,并检查颜色名称是否存在于数组中...如果不存在,则将添加它,而实际的 <span>将被添加到 $spans 中。如果该名称已存在于数组中,我想增加 total该矩阵条目的所以跟踪它的出现

 var colorNames = [];
for (var row = 0; row < 6; row++) {
for (var col = 0; col < 6; col++) {
if (matrixPaths[row][col] == 1) {
if($.inArray(matrix[row][col].data('color'), colorNames) == -1) {
matrix[row][col].data()['total'] += 1;
colorNames.push(matrix[row][col].data('color'));
$spans.push(matrix[row][col]);
}
else {
matrix[row][col].data()['total'] += 1;
}
}
}
}

最佳答案

您的代码似乎不必要地复杂。如果我正确理解了这个问题,你可以使用一个对象:

var count = {}, clr;

for (var i = 0; i < colors.length; i++)
{
clr = colors[i].color;
if ( count.hasOwnProperty(clr) )
count[clr] += 1;
else
count[clr] = 1;
}

其中colors是一个对象数组。

关于javascript - 显示唯一的对象名称及其出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26822093/

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