Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Arrays 角度8:从数组中删除空对象_Arrays_Angular_Angular8 - Fatal编程技术网

Arrays 角度8:从数组中删除空对象

Arrays 角度8:从数组中删除空对象,arrays,angular,angular8,Arrays,Angular,Angular8,我正在使用Angular8,希望从数组中删除空对象,并获取其长度 Array: [ {data01: "abc", data02: "cde", data03: "fgh", data04: "", data05: ""}, {data01: "abc", data02: "cde", data03: "", data04: "", data05: ""}, {data01: "abc", data02: "cde", data03: "fgh", data04: "ijk", data05:

我正在使用Angular8,希望从数组中删除空对象,并获取其长度

Array: [
{data01: "abc", data02: "cde", data03: "fgh", data04: "", data05: ""},
{data01: "abc", data02: "cde", data03: "", data04: "", data05: ""},
{data01: "abc", data02: "cde", data03: "fgh", data04: "ijk", data05: "lmn"},
{data01: "abc", data02: "", data03: "", data04: "", data05: ""},
]
那我希望它是这样的

Array: [
{data01: "abc", data02: "cde", data03: "fgh"},
{data01: "abc", data02: "cde"},
{data01: "abc", data02: "cde", data03: "fgh", data04: "ijk", data05: "lmn"},
{data01: "abc"},
]
这就是要做的吗

我尝试将这些元素放入一个新数组中,如

_Array: ["abc","cde", "fgh", "", "", ....] 

按5分块,然后过滤(布尔值),这是可行的,但性能有点慢,还有其他方法可以提高性能吗?

您可以使用纯JavaScript实现这一点。请尝试下面的代码

var-arr=[
{data01:“abc”,data02:“cde”,data03:“fgh”,data04:,data05::},
{data01:“abc”,data02:“cde”,data03:,data04:,data05:”,
{data01:“abc”,data02:“cde”,data03:“fgh”,data04:“ijk”,data05:“lmn”},
{data01:“abc”,data02:,data03:,data04:,data05:”,
]
arr.forEach(函数(元素){
for(变量键入元素){
如果(元素[键]=“”){
删除元素[键]
}
}
});
log(arr)
您可以使用JS中数组对象方法的map()和filter()来解决这个问题

let数组=[
{data01:“abc”,data02:“cde”,data03:“fgh”,data04:,data05::},
{data01:“abc”,data02:“cde”,data03:,data04:,data05:”,
{data01:“abc”,data02:“cde”,data03:“fgh”,data04:“ijk”,data05:“lmn”},
{data01:“abc”,data02:,data03:,data04:,data05:”,
]; // 提供的阵列
array=array.map(对象=>{
让entries=Object.entries(Object);//为数组中的每个元素获取条目,[key,value]对
entries=entries.filter(([key,value])=>value!==“”);//删除具有“”值的元素
返回对象.fromEntries(entries);
});
console.log(array.length);
//较短版本
array=array.map(object=>object.fromEntries(object.entries(object.filter)([key,value])=>value!==”);

console.log(array.length)这个怎么样?你能在问题中包括你现有的代码吗?
arr.map(i=>Object.entries(i).filter([k,v])=>v.reduce((acc,[k,v])=>({……acc,[k]:v}),{}))
你的代码很好,但我想得到长度,但你的代码似乎不太好,但我试图得到长度,但这代码似乎不能满足我的要求!但是如果您可以在
[key]:value