Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/410.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何计算数组中字符串的出现次数?_Javascript - Fatal编程技术网

Javascript 如何计算数组中字符串的出现次数?

Javascript 如何计算数组中字符串的出现次数?,javascript,Javascript,我有下面的数组(粘贴在下面),并希望通过循环来计算每种颜色出现的次数。做这件事最简单的方法是什么 [ ["Brown"], ["Blue", "Green"], ["Red", "Black", "White", "Other"], ["Green"], ["Green", "Gold"], [&q

我有下面的数组(粘贴在下面),并希望通过循环来计算每种颜色出现的次数。做这件事最简单的方法是什么

[
["Brown"],
["Blue", "Green"],
["Red", "Black", "White", "Other"],
["Green"],
["Green", "Gold"],
["Blue"]
];
你可以用

const输入=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
常量输出=输入。减少((acc,cur)=>{
当前forEach(项目=>{
如果(!acc[item])acc[item]=0;
行政协调会[项目]+;
})
返回acc;
}, {})
控制台日志(输出)您可以使用

const输入=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
常量输出=输入。减少((acc,cur)=>{
当前forEach(项目=>{
如果(!acc[item])acc[item]=0;
行政协调会[项目]+;
})
返回acc;
}, {})
控制台日志(输出)使用和:

const数据=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
const result=data.flat().reduce((a,v)=>(a[v]=(a[v]|0)+1,a),{});
控制台日志(结果)使用和:

const数据=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
const result=data.flat().reduce((a,v)=>(a[v]=(a[v]|0)+1,a),{});

控制台日志(结果)使用计数器对数组进行计数和迭代

let counter = {}
let colorAry = [
    ["Brown"],
    ["Blue", "Green"],
    ["Red", "Black", "White", "Other"],
    ["Green"],
    ["Green", "Gold"],
    ["Blue"]
];

for(let ary of colorAry) {
    for(let color of ary) {
        if(counter[color]==undefined) counter[color] = 0
        counter[color]++
    }
}
console.log(counter)

使用计数器对数组进行计数和迭代

let counter = {}
let colorAry = [
    ["Brown"],
    ["Blue", "Green"],
    ["Red", "Black", "White", "Other"],
    ["Green"],
    ["Green", "Gold"],
    ["Blue"]
];

for(let ary of colorAry) {
    for(let color of ary) {
        if(counter[color]==undefined) counter[color] = 0
        counter[color]++
    }
}
console.log(counter)

循环每个数组和子数组,并将计数存储在另一个变量中

let数据=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
//存储计数
让计数器={};
//循环每个数组和子数组
data.forEach(项=>{
item.forEach(子项=>{
柜台【子项】=柜台【子项】?柜台【子项】+1:1
})
});

控制台日志(计数器)循环每个数组和子数组,并将计数存储在另一个变量中

let数据=[
[“棕色”],
[“蓝色”、“绿色”],
[“红色”、“黑色”、“白色”、“其他”],
[“绿色”],
[“绿色”、“金色”],
[“蓝色”]
];
//存储计数
让计数器={};
//循环每个数组和子数组
data.forEach(项=>{
item.forEach(子项=>{
柜台【子项】=柜台【子项】?柜台【子项】+1:1
})
});
控制台日志(计数器)