[英]JavaScript how to get a length from a map array
我是 JSX 的新手,我正在尝试获取每个团队的员工人数this.state.teams[0].employee.length
会给我数组中[0]
对象的员工人数,我怎么能获取每个团队的员工人数并且只渲染一次?
render() {
const {teams, isLoading} = this.state;
const { location } = this.props;
if (isLoading) {
return <p>Loading...</p>;
}
// console.log("Number of Employees team", this.state.teams[0].employee.length);
const teamList = teams.map(team => {
console.log("TEAM Employees", teams[0].employee.length);
return <tr key={team.id}>
<td>
<div className="tableContent">
<div>
{team.name}
</div>
<div>
<ul>{team.employee.map(employee => {
return <li key={employee.id}>{employee.name}: {employee.email}</li>
})}</ul>
</div>
<div>
{team.employee.map(employee => {
return <li key={employee.id}>{teams[0].employee.length}</li>
})}
</div>
</div>
</td>
</tr>
});
您可以针对特定团队尝试此操作:
const teamList = teams.map(team => {
console.log("TEAM Employees", team.employee.length);
}
或者这对于所有团队的员工人数:
const numberOfAllEmployees = teams.map(team => team.employee.length).reduce((a,b) => a + b);
您可以使用Object.keys(teams[0].employee).length
Object.keys() 方法返回给定对象自己的可枚举属性名称的数组,以与普通循环相同的顺序迭代。 MDN
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.