javascript - 如何以角度获取/显示数组对象的总长度
问题描述
如何获取/显示角度的length
总和PENDING
REJECTED
如果status === 'PENDING'
否则 如果status === 'REJECTED
这是代码:
list.components.ts
const group: any = groupBy(params, 'status');
Object.values(group).map((x: any) => {
x.map((key: any) => {
console.log(key);
});
这是array
{
"assetcode": "001", "assetname": "Machine Print", "assettype": "Type", "floorcode": "58",
"linecode": "02", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "002", "assetname": "Machine Print", "assettype": "Type", "floorcode": "58",
"linecode": "02", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "PENDING"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-02 08:00:00", "status": "REJECTED"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-04 08:00:00", "status": "REJECTED"
},
{
"assetcode": "003", "assetname": "Machine Print-V2", "assettype": "Type", "floorcode": "58",
"linecode": "03", "rowNo": 0, "lastpmdate": "2019-12-03 08:00:00", "status": "PENDING"
},
这是group
{PENDING: Array(6), REJECTED: Array(1)}
PENDING: Array(6)
0: {assetcode: "001", assetname: "Machine Print", assettype: "Type", floorcode: "58", linecode: "02", …}
1: {assetcode: "002", assetname: "Machine Print", assettype: "Type", floorcode: "58", linecode: "02", …}
2: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
3: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
4: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
5: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
length: 6
REJECTED: Array(1)
0: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
length: 1
{PENDING: Array(2)}
PENDING: Array(2)
0: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
1: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
length: 2;
{REJECTED: Array(1)}
REJECTED: Array(1)
0: {assetcode: "003", assetname: "Machine Print-V2", assettype: "Type", floorcode: "58", linecode: "03", …}
length: 1
总length
有for和for 10
_8
PENDING
2
REJECTED
它应该是这样显示的
if (key.status === 'PENDING') {
/// the output should be 8
} else if (key.status === 'REJECTED') {
/// the output should be 2
}
解决方案
假设group
您附有屏幕截图的数组:
const pending = group.filter(asset => asset.status === 'PENDING').length;
const rejected = group.filter(asset => asset.status === 'REJECTED').length;
filter
按状态进行过滤,并length
返回过滤项目的总数。
如果您有多个数组,您可以先将它们连接起来使用concat()
以获得单个数组:
var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var children = hege.concat(stale);
https://www.w3schools.com/jsref/jsref_concat_array.asp
笔记:
在您的原始代码中,您正在groupBy()
使用两个键(待处理和拒绝)创建一个新对象,但您甚至不需要它,因为它filter
会满足您的需求,并且使用 concat 您可以将多个数组合并为一个。
推荐阅读
- vba - Rubberduck VBA:什么会导致解析器错误?
- javascript - 比较 3 个数组以创建一个新字符串
- python - postgres 从 jsoncolumn 中删除 json
- azure - 使用 .pfx 证书从头开始实现 HDInsight 部署自动化
- javascript - 在 JS/React 中,如何将数组属性存储到新数组中以显示新数组值?
- java - Java 计划任务是否在 AWS Auto Scaling 组的所有 EC2 实例上运行?
- vb.net - Oracle 查询中的数字字段在零时返回变量结果
- javascript - 引导导航栏:让搜索按钮工作
- apache-spark - Kubernestes 独立火花:spark-shell 在从属设备上工作,而不是在主设备上工作:初始作业没有接受任何资源;
- flask - 在 WSGI 上运行 Pyvirtualdisplay