Javascript JS-如何计算数组中的每个元素?

Javascript JS-如何计算数组中的每个元素?,javascript,Javascript,我想知道数组中每个数字有多少个元素,I。e、 : [2,2,3,6,11001,2]应该返回2=>3,3=>1,6=>1,1=>11001=>1。但是当我在设置counted[2]=3和counted[1001]=1时使用额外的数组时,我创建了1002长度的数组(与PHP中的数组相反……)。我怎样才能改进它?(当然我不知道我的输入数组中有多少个元素) 感谢您的建议。尝试使用对象而不是数组 Array假设如果在索引x处插入元素,则意味着您需要一个长度至少为x的数组。尝试使用Object而不是Arr

我想知道数组中每个数字有多少个元素,I。e、 :
[2,2,3,6,11001,2]
应该返回2=>3,3=>1,6=>1,1=>11001=>1。但是当我在设置
counted[2]=3
counted[1001]=1
时使用额外的数组时,我创建了1002长度的数组(与
PHP
中的数组相反……)。我怎样才能改进它?(当然我不知道我的输入数组中有多少个元素)
感谢您的建议。

尝试使用对象而不是数组


Array假设如果在索引x处插入元素,则意味着您需要一个长度至少为x的数组。

尝试使用Object而不是Array


数组假设如果在索引x处插入一个元素,则意味着您需要一个长度至少为x的数组。

这是一个非常简单的答案,但您可以尝试使用哈希映射

var counted = { };

这是一个非常幼稚的答案,但您可以尝试使用hashmap代替

var counted = { };
可以使用对象

以下是一个例子:

var src = [2,2,3,6,1,1001,2]
var results = {}

for (var i = 0, n = src.length; i < n; i++)
{
   results[src[i]] = results[src[i]] || 0
   results[src[i]] += 1
}

// Iterate over results or access by index to see frequency
for (var idx in results)
{
   console.log(idx + " ==> " + results[idx])
}
var src=[2,2,3,6,11001,2]
var结果={}
对于(变量i=0,n=src.length;i”+结果[idx])
}
您可以使用对象

以下是一个例子:

var src = [2,2,3,6,1,1001,2]
var results = {}

for (var i = 0, n = src.length; i < n; i++)
{
   results[src[i]] = results[src[i]] || 0
   results[src[i]] += 1
}

// Iterate over results or access by index to see frequency
for (var idx in results)
{
   console.log(idx + " ==> " + results[idx])
}
var src=[2,2,3,6,11001,2]
var结果={}
对于(变量i=0,n=src.length;i”+结果[idx])
}

将Javascript对象用作哈希表,因此数字表示为该对象上的属性:

var array = [2,2,3,6,1,1001,2];
var numbers = {};
for (var i = 0; i < array.length; i++) {
    var number = array[i];
    if (typeof(numbers[number]) === "undefined") {
        numbers[number] = 1;
    } else {
        numbers[number]++;
    }
}
var数组=[2,2,3,6,11001,2];
变量数={};
对于(var i=0;i
将Javascript对象用作哈希表,因此数字表示为该对象上的属性:

var array = [2,2,3,6,1,1001,2];
var numbers = {};
for (var i = 0; i < array.length; i++) {
    var number = array[i];
    if (typeof(numbers[number]) === "undefined") {
        numbers[number] = 1;
    } else {
        numbers[number]++;
    }
}
var数组=[2,2,3,6,11001,2];
变量数={};
对于(var i=0;i
Example:var counted={“2”:3,“1001”:1};控制台日志(计数为[“2”]);计数[“3”]=4;示例:var counted={“2”:3,“1001”:1};控制台日志(计数为[“2”]);计数[“3”]=4;很好,我一直在祈祷那简单的解决办法!很好,我一直在祈祷那简单的解决办法!