JS数组重组问题

如下代码:


var abc = [{

        id:123,

        name:'jack'

    },{

        id:456,

        name:'Tony' 

    }]

    var bcd = [{

        pid:123,

        info: '男'

    },{

        pid:123,

        info:'女'

    },{

        pid:123,

        info: '未知'

    },{

        pid:456,

        info: '东'

    },{

        pid:456,

        info:'西'

    },{

        pid:456,

        info: '南'

    },{

        pid:456,

        info: '北'

    }]

    let arr=[]

    for(var j=0;j<bcd.length;j++){

        for(var i=0;i<abc.length;i++){

            if(abc[i].id === bcd[j].pid){

                arr.push(bcd[j].info+'/')

                console.log(arr)

            }

        }

    }

    

以上代码我获得了全部的info属性值,但是我想要的结果是输出

男/女/未知/

以及

东/西/南/北/

该如何改写代码才能获得想要的结果呢?请大神帮帮忙


我已经试过+=累加,输出结果也是一样的,无法得到想要的结果


我现在得到的结果诸如下面的内容:

["男/", "女/", "未知/"]

["男/", "女/", "未知/", "东/"]

["男/", "女/", "未知/", "东/", "西/"]

["男/", "女/", "未知/", "东/", "西/", "南/"]

["男/", "女/", "未知/", "东/", "西/", "南/", "北/"]

我想要的结果是:

[{"男/", "女/", "未知/"},{"东/", "西/", "南/", "北/"}]

或者是:

"男/女/未知" 以及 "东/西/南/北/" 各一次结果


慕虎7371278
浏览 458回答 2
2回答

BIG阳

把两个循环换个位置试试
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript