Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Algorithm_Sorting_Functional Programming - Fatal编程技术网

Javascript 如何以表格格式绑定对象数组?

Javascript 如何以表格格式绑定对象数组?,javascript,arrays,algorithm,sorting,functional-programming,Javascript,Arrays,Algorithm,Sorting,Functional Programming,我想解决这个问题,也许是问题的措辞让我感到复杂。但任务基本上是计算对象数组中所有字符串的实例 我尝试过一些实用的方法,比如filter和reduce,但就是做不好 let users = [ { id: 1, name: "Babloo", }, { id: 2, name: "Raam", }, { id: 3, name: "Shyam"

我想解决这个问题,也许是问题的措辞让我感到复杂。但任务基本上是计算对象数组中所有字符串的实例

我尝试过一些实用的方法,比如filter和reduce,但就是做不好

    let users = [
  {
    id: 1,
    name: "Babloo",
    
  },
  {
    id: 2,
    name: "Raam",
    
  },
  {
    id: 3,
    name: "Shyam",
    
  },
  {
    id: 4,
    name: "Balraam",
    
  },
  {
    id: 5,
    name: "Sunder",
    
  },
  {
    id: 6,
    name: "Balraam",
    
  },
  {
    id: 7,
    name: "Mahesh",
    
  }
]
// Bind this Array in a tabular format. 
我预计产量会有所增加

Name | Repeat Count

Balram | 2
您可以使用
Array#reduce
name
分组。然后像这样使用
Object.entries
Array\map
组合

let users=[{id:1,name:“Babloo”,},{id:2,name:“Raam”,},{id:3,name:“Shyam”,},{id:4,name:“Balraam”,},{id:5,name:“Sunder”,},{id:6,name:“Balraam”,},{id:7,name:“Mahesh”,}];
const groupingData=users.reduce((acc,{name})=>
(acc[名称]=(acc[名称]| | 0)+1,acc),{});
const result=Object.entries(groupingData.map)([key,value])=>
({name:key,Repeat_Count:value}));
控制台日志(结果)考虑使用
映射
数组#过滤器
。 您还可以使用结果创建一个

const table=document.querySelector(“#table”);
常数
users=[{id:1,name:“Babloo”},{id:2,name:“Raam”},{id:3,name:“Shyam”},{id:4,name:“Balraam”},{id:5,name:“Sunder”},{id:6,name:“Balraam”},{id:7,name:“Mahesh”},
res=Array.from(users.reduce((m,{name})=>(m.set(name,(m.get(name)| | 0)+1),m),newmap());
res.forEach(([名称,计数])=>{
const tr=document.createElement(“tr”);
const tdName=document.createElement(“td”);
const tdCount=document.createElement(“td”);
tdName.innerText=名称;
tdCount.innerText=计数;
tr.appendChild(tdName);
tr.appendChild(tdCount);
表1.儿童(tr);
});
log(JSON.stringify(res))
#表td{
边框:1px纯黑;
}


这是否回答了您的问题?是的。但是我们必须以表格形式呈现的部分呢?这是某种形式的专业术语吗?这取决于你使用的语言。从规范化的数据中,可以根据需要进行迭代@siddhant你能给我解释一下,reduce函数中发生了什么吗?@siddhant
reduce
回调将对数组中的每个项运行,在数组中,我们正在增加
name
的计数。我已经更新了我的答案,用数据创建了一个
表。您可以阅读有关
reduce
Map