【问题标题】:Parsing and Ignore Null Data Inside Multidimensional Array on Angular 6在Angular 6上解析和忽略多维数组中的空数据
【发布时间】:2019-07-05 18:18:45
【问题描述】:

我有一个多维数组,从我的dashboard.component.ts 中的console.log(temp) 显示,就像这样:

[[],[],[],[],[],[],[],[],[],[],[{"user_id":"ismail.rahman.saanin@gmal.com","status":"Idle"},{"user_id":"lutfi.aldi.nugroho@gmil.com","status":"Overload"}]]

基本上,这种数组(内部包含空数组)是罕见的情况。但它打扰了我,我无法解析数据。

我的 Dashboard.component.ts

this.scheduleService.getShiftSchedule().subscribe((temp)=>{
  this.api = temp;
//console.log(temp);
  var ids = [['user_id', 1], ['status', 2]],
  result = Object.keys(temp).map(o => ids.map(([key, id]) => ({ id, content: temp[o][key] })));
  this.tablePresetData = result;
})

我的问题是,如果像我这样的多维数组中存在条件空数组,如何过滤数据?

需要帮助,谢谢大家...

【问题讨论】:

  • 您想从数组中删除空数组吗?
  • 或许你应该先像temp.filter(arr => arr.length)这样过滤数组,这样任何空数组都会被过滤掉。

标签: javascript arrays angular arraylist multidimensional-array


【解决方案1】:

您可以使用.filter() 并返回元素.length,其中0 的计算结果为false

let [res] = array.filter(({length}) => length)

或使用.flat()

let res = array.flat()

【讨论】:

  • 给定错误“'对象'类型上不存在属性'过滤器'。” @guest271314
  • @aldi [[],[],[],[],[],[],[],[],[],[],[{"user_id":"ismail.rahman.saanin@gmal.com","status":"Idle"},{"user_id":"lutfi.aldi.nugroho@gmil.com","status":"Overload"}]] 是输入,[{"user_id":"ismail.rahman.saanin@gmal.com","status":"Idle"},{"user_id":"lutfi.aldi.nugroho@gmil.com","status":"Overload"}] 是预期输出,对吗?
  • 但仍然出现错误“'ArrayConstructor'类型上不存在属性'flat'。”
  • 和 res 是什么意思?
  • @aldi 结果数组
【解决方案2】:

您可以检查length 是否大于0

let arr = [[],[],[],[],[],[],[],[],[],[],[{"user_id":"ismail.rahman.saanin@gmal.com","status":"Idle"},{"user_id":"lutfi.aldi.nugroho@gmil.com","status":"Overload"}]];
arr = arr.filter(item => Array.isArray(item) && item.length > 0)
console.log(arr);

【讨论】:

  • 给定错误“'对象'类型上不存在属性'过滤器'。” @Maheer 阿里
  • @aldi 你需要打电话给Array。不是Object
  • 我将 arr 更改为包含数组的 temp。我用console.log(temp)调用它。 @Maheer 阿里
  • @aldi 你可能会犯一些错误,因为它在 sn-p 中工作正常
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
  • 2011-05-29
  • 1970-01-01
  • 2019-08-06
  • 2019-07-11
  • 1970-01-01
  • 2014-11-24
相关资源
最近更新 更多