Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.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
Javascript 如何以角度显示阵列内部的阵列数据_Javascript_Angular_Typescript - Fatal编程技术网

Javascript 如何以角度显示阵列内部的阵列数据

Javascript 如何以角度显示阵列内部的阵列数据,javascript,angular,typescript,Javascript,Angular,Typescript,我在这里要做的是获取行数据。就像这样 预期产出: data = [ { rows: [ { name: 'a'} ] }, { rows: [ { name: 'b'} ] } { rows: [] } ] 它将删除空数组并在其上合并 data = [ { name: 'a' },

我在这里要做的是获取行数据。就像这样

预期产出:

data = [
    {
        rows: [
            { name: 'a'}
        ]
    },
    {
        rows: [
            { name: 'b'}
        ]
    }
    {
        rows: []
    }
]
它将删除空数组并在其上合并

data = [
    {
        name: 'a'
    },
    {
        name: 'b'
    }
];
你可以过滤数组

您可以筛选阵列。

数据=[
{
行:[
{name:'a'},
]
},
{
行:[
{name:'b'},
]
},
{
行:[]
}
]
让mappedData=data.map(obj=>{
返回obj.rows.map(obj2=>{
返回{
名称:obj2.name
}
})
})
mappedData=mappedData.flat()
console.log(mappedData)
数据=[
{
行:[
{name:'a'},
]
},
{
行:[
{name:'b'},
]
},
{
行:[]
}
]
让mappedData=data.map(obj=>{
返回obj.rows.map(obj2=>{
返回{
名称:obj2.name
}
})
})
mappedData=mappedData.flat()

console.log(mappedData)
这可能会有所帮助。提供的解决方案考虑到单个
行中可能有多个
名称

data.filter(x => {
  x.rows !== [];
});

这可能会有帮助。提供的解决方案考虑到单个
行中可能有多个
名称

data.filter(x => {
  x.rows !== [];
});
方法1: 您可以在阵列上使用reduce,如下所示-

var数据=[
{
行:[
{name:'a'}
]
},
{
行:[
{name:'b'}
]
},
{
行:[]
}
]
var约简集=[];
数据减少((累加器、currentValue、currentIndex)=>{
var currentRows=currentValue.rows;
var rowLength=currentRows&¤tRows.length
if(行长){
对于(i=0;i方法1:
您可以在阵列上使用reduce,如下所示-

var数据=[
{
行:[
{name:'a'}
]
},
{
行:[
{name:'b'}
]
},
{
行:[]
}
]
var约简集=[];
数据减少((累加器、currentValue、currentIndex)=>{
var currentRows=currentValue.rows;
var rowLength=currentRows&¤tRows.length
if(行长){
对于(i=0;iconsole.log(reduceSet)如果您想用现代Javascript将其作为一行,这就是方法

let data = [] // YOUR OBJECT IN THE QUESTION

    let data2: any = []
    data.forEach(el => {
    if(el.rows.length > 0) {
    data2 = [...data2, ...el.rows];
       
        }
})


console.log('data2', data2);

基本上,创建一个新数组,然后为inData中的每个条目提取
属性的内容,并将其添加到数组中。

如果您想用现代Javascript将其一行,这就是方法

let data = [] // YOUR OBJECT IN THE QUESTION

    let data2: any = []
    data.forEach(el => {
    if(el.rows.length > 0) {
    data2 = [...data2, ...el.rows];
       
        }
})


console.log('data2', data2);
基本上,创建一个新数组,然后为inData中的每个条目提取
行的内容
属性并将其添加到数组中