Javascript 从按键类型排列的多维数组创建数组的对象

Javascript 从按键类型排列的多维数组创建数组的对象,javascript,arrays,object,Javascript,Arrays,Object,下面是创建JavaScript代码以构建对象的答案之一,可以使用什么来构建名为chars的对象可以用作chars.str和chars.num: const arr=“abrakadabra”。拆分(“”); 常量计数={}; arr.forEach((el)=>{ 计数[el]=计数[el]?(计数[el]+=1):1; }); const countsorted=Object.entries(counts).sort([[uu,b],[uu,a])=>a-b); console.log(计数

下面是创建JavaScript代码以构建对象的答案之一,可以使用什么来构建名为chars的对象可以用作
chars.str
chars.num

const arr=“abrakadabra”。拆分(“”);
常量计数={};
arr.forEach((el)=>{
计数[el]=计数[el]?(计数[el]+=1):1;
});
const countsorted=Object.entries(counts).sort([[uu,b],[uu,a])=>a-b);
console.log(计数);//[“a”,5],“b”,2],“r”,2],“k”,1],“d”,1]。
在的帮助下,我能够了解更多,并找到了解决方案。工作示例如下:

const arr=“abrakadabra”。拆分(“”);
常量计数={};
arr.forEach((el)=>{
计数[el]=计数[el]?(计数[el]+=1):1;
});
const countsorted=Object.entries(counts).sort([[uu,b],[uu,a])=>a-b);
var chars=新对象();
chars.str=[];
chars.num=[];
countsorted.forEach((asd)=>{
字符str.push(asd[0]);
字符数推送(asd[1]);
});
console.log(字符);//{“str”:[“a”、“b”、“r”、“k”、“d”],“num”:[5,2,2,1,1]}

您可以使用
Array.reduce()
将数组转换为对象:

const str=“abrakadabra”;
const countsorted=Object.entries(
str.split(“”).reduce((acc,el)=>{
acc[el]=(acc[el]?0)+1;
返回acc;
}, {})
).sort(([,a],,b])=>b-a);
常量字符=计数。减少((acc,[str,num])=>{
加速推力(str);
acc.num.push(数字);
返回acc;
},{str:[],num:[]});
console.log(字符);//{“str”:[“a”、“b”、“r”、“k”、“d”],“num”:[5,2,2,1,1]}