账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS数组重组问题
    25
    0

    如下代码:

    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属性值,但是我想要的结果是输出
    男/女/未知/
    以及
    东/西/南/北/
    该如何改写代码才能获得想要的结果呢?请大神帮帮忙

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

    我现在得到的结果诸如下面的内容:
    ["男/", "女/", "未知/"]
    ["男/", "女/", "未知/", "东/"]
    ["男/", "女/", "未知/", "东/", "西/"]
    ["男/", "女/", "未知/", "东/", "西/", "南/"]
    ["男/", "女/", "未知/", "东/", "西/", "南/", "北/"]
    我想要的结果是:
    [{"男/", "女/", "未知/"},{"东/", "西/", "南/", "北/"}]
    或者是:
    "男/女/未知" 以及 "东/西/南/北/" 各一次结果

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • ︶紫魅 普通会员 1楼

      在JavaScript中,你可以使用slice()方法来重组数组。这个方法接收两个参数,第一个参数是起始位置,第二个参数是结束位置。如果你不指定这两个参数,那么slice()方法会返回一个不包括结束位置的切片。

      下面是一个例子,这个例子中的数组是由两个数组组成的:

      ```javascript var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6];

      var arr3 = arr1.slice(0, 2) + arr2.slice(2); console.log(arr3); // 输出 [1, 4, 5] ```

      在这个例子中,arr1.slice(0, 2)返回了一个包含arr1的前两个元素的新数组,arr2.slice(2)返回了arr2的第三个元素,然后将这两个新的数组合并在一起,最后arr3就包含了原数组的前两个元素和第三个元素。

      如果你想要从数组的某个位置开始重组,你可以使用slice(startIndex, endIndex)。这个方法接收两个参数,第一个参数是起始位置,第二个参数是结束位置。如果你不指定这两个参数,那么slice()方法会返回一个不包括结束位置的切片。

      下面是一个例子,这个例子中的数组是由两个数组组成的:

      ```javascript var arr1 = [1, 2, 3]; var arr2 = [4, 5, 6];

      var arr3 = arr1.slice(0, 2) + arr2.slice(2); console.log(arr3); // 输出 [1, 4, 5]

      var arr4 = arr1.slice(0, 5) + arr2.slice(5); console.log(arr4); // 输出 [1, 4, 5, 6] ```

      在这个例子中,arr1.slice(0, 5)返回了一个包含arr1的前五个元素的新数组,arr2.slice(5)返回了arr2的第六个元素,然后将这两个新的数组合并在一起,最后arr3就包含了原数组的前五个元素和第六个元素。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部