我有一个这样的数组,它是useState
的初始状态:
Array [ (6) […], (6) […] ]
0: Array(6) [ undefined, {…}, {…}, … ]
1: Array(6) [ undefined, undefined, {…}, … ]
例如:
const[arr,setArr] = React.useState([
[
{label: "Beklam", id: 5032},
{label: "Dx6", id: 5052},
undefined,
undefined
],
[
{label: "item1", id: 50567},
{label: "item4", id: 505567},
{label: "item6", id: 50537},
{label: "itemA", id: 505647},
undefined,
undefined,
]
])
我想把它做成这样:
[
{label: "Beklam", id: 5032},
{label: "Dx6", id: 5052},
{label: "item1", id: 50567},
{label: "item4", id: 505567},
{label: "item6", id: 50537},
{label: "itemA", id: 505647},
]
我应该提到undefined
值来自输入。在我的例子中,有可能接收undefined
,我应该处理它。
这是从console.log
输出的浏览器.有一个数组与两个数组在它里面.和每一个这两个数组有6个元素在他们里面.他们可以是超过6.所以这数量的元素是不是静态的,作为数组.
阵列可具有多个子阵列。
就像这样:
0: undefined
1: undefined
2: Object { label: "Beklam", id: 5032 }
3: Object { label: "0/65%", id: 5061 }
4: undefined
5: undefined
我想把子数组中的所有对象提取到一个对象中。显然,把这两个数组中的所有值提取到一个包含它们对象的数组中。
并且如果可能,过滤undefined
值并且不显示它们。而不是尝试稍后在变量上使用array.filter
。
我实际上还没有遇到过这样的问题,所以我真的不知道如何处理多维数组。
2条答案
按热度按时间luaexgnf1#
你可以用flatmap把它变成一维数组。
或者更简单:
并过滤掉未定义的值:
kxkpmulp2#
您可以使用flat将其扁平化为单个数组。
您可以使用filter删除
undefined
条目。