javascript - 当元素的属性为空时删除多维数组中的元素
问题描述
嘿,当他的数组属性“文本”为空时,我正在尝试删除多维数组中的一个元素。我正在尝试的方法是使用 filter 方法,如下所示:
array.filter(item => item.texts.length === 0)
但由于某种原因,它不起作用。其他方法是通过它的 name 属性(我可以访问)查找元素,获取它的索引,检查其中的 texts 数组是否为空并使用 splice 方法删除它,但我不知道该怎么做在一个多维数组中。任何帮助,将不胜感激。
这是我正在处理的数组:
const array = [
0: Object {
name: 'Name 1',
texts[
0: Obj{
id: '123',
body: 'test message'
},
1: Obj{
id: '456',
body: 'test message 2'
}
]
},
1: Object {
name: 'Name 2',
texts[
0: Obj{
id: '789',
body: 'test message3'
},
1: Obj{
id: '101112',
body: 'test message 4'
}
]
}
]
解决方案
您需要确保正确声明您的对象,然后反转逻辑。
array.filter(item => item.texts.length !== 0)
const array = [
{
name: 'Name 1',
texts: [
{
id: '123',
body: 'test message'
},
{
id: '456',
body: 'test message 2'
}
]
},
{
name: 'Name 2',
texts: []
}
]
console.log(array.filter(item => item.texts.length !== 0));
推荐阅读
- anychart - Anychart 缩放非地图图表类型
- javascript - 使用 React JavaScript 的 Spring-Boot
- android - onActivityResult 返回空数据
- python - Python绘图字典
- python - 一次访问多个索引行时有效地迭代 pandas.DataFrame
- javascript - 从 JsonConvert.SerializeObject(obj) 返回的 JSON 在 Json.parse 中返回“Unexpected token &”
- unity3d - GPGS Unity 插件 - 网络延迟检查和同步
- javascript - 为什么具有相同属性的两个对象不能以相同的方式工作
- wordpress - FacetWP 显示所有选项和方面
- windows - 在 Windows 上检测传入的 UDP 流