Javascript 如何返回显示每个唯一值出现总数的对象?
大家好,我是JavaScripts新手,希望你们中的任何人都能帮我弄明白。谢谢 我的问题是如何编写一个函数,该函数需要一个包含字符串和/或数字的数组(以及有限级别的嵌套字符串和/或数字数组),并返回一个显示每个唯一值出现总数的对象Javascript 如何返回显示每个唯一值出现总数的对象?,javascript,Javascript,大家好,我是JavaScripts新手,希望你们中的任何人都能帮我弄明白。谢谢 我的问题是如何编写一个函数,该函数需要一个包含字符串和/或数字的数组(以及有限级别的嵌套字符串和/或数字数组),并返回一个显示每个唯一值出现总数的对象 function functionName() { const inputArray = [ 2, 5, 2, 'a', [ 'd', 5, 2, ['b', 1], 0 ], 'A', 5, 'b', 2, 'd' ]; const outputResult
function functionName() {
const inputArray = [ 2, 5, 2, 'a', [ 'd', 5, 2, ['b', 1], 0 ], 'A', 5, 'b', 2, 'd' ];
const outputResult = functionName(inputArray);
}
对象中的键是数组中找到的唯一值,每个键的值是每个唯一键的出现次数
我想要的结果是:
{
'2': 4,
'5': 3,
'a': 1,
'd': 2,
'b': 2,
'1': 1,
'0': 1,
'A': 1,
}
您需要递归地获取每个值的出现次数,如在
calculateoccurrences
中实现的:
const calculateoccurrences=函数(输入数组、输出结果){
inputArray.forEach(函数(值){
if(typeof(value)=='number'| | typeof(value)=='string'){
输出结果[值]=输出结果[值]?输出结果[值]+1:1;
}else if(Array.isArray(值)){
计算发生率(值、输出结果);
}
})
}
常量输入数组=[2,5,2,'a',[d',5,2,['b',1],0],'a',5,'b',2,'d';
常量输出结果={}
计算发生率(输入、输出结果);
console.log(outputResult)代码>您可以尝试:
constinputarray=[2,5,2,a',[d',5,2,b',1,0],'a',5,b',2,d'];
const result=inputArray.flat(无穷大).reduce((acc,item)=>(acc[item]=(acc[item]| 0)+1,acc),{})
log(result)
在这种情况下,将数组转换为字符串更容易
var输入=[2,5,2,'a',[d',5,2,[b',1],0],'a',5,'b',2,'d';
//转换为字符串并替换“,”字符
var stringInput=input.toString().replace(/,/g',);
var输出={};
//计数
对于(var i=0;i 控制台日志(输出)代码>您可以共享显示您迄今为止尝试的代码吗?您可以检查此项。你应该先学习基本知识,然后再开始你的案例。