为了账号安全,请及时绑定邮箱和手机立即绑定

后台返回的一个二维数组,我想转换为多维数组,用 javascript

后台返回的一个二维数组,我想转换为多维数组,用 javascript

qq_遁去的一_1 2018-12-12 14:14:54
大神们好,我现在有一个这样的需求,后台返回一个二维的数组,然后我根据参数的不同转化为多维数组;后台返回的数组:(这个是我手写的假数据)现在要根据这个数组来做一些改变,下面是我希望得到的数据说明一下逻辑:根据数组第一个值中 'id' 来查找剩下的数组中是否有 'id' == 'relation' ,如果有,就要把当前检查的这个放在与它相等的值的 ['child'] 属性中;表达能力不好,我还是举例说明把。当到这个数据后,获取第一个的 ['id'] 值 arr0,也就是64,然后再循环整个数组,看看有没有哪个的 ['relation'] 属性值与当前的 ['id'] 值相等,现在找到了 第二个和第七个是满足条件的,此时,就把第二个和第七个放到第一个数组的 ['child'] 属性中,然后,再查找数组中第一个的 ['peiou'] 值,如果 ['peiou'] 不是0,那就看看有没有哪个属性的 ['id'] 属性值与当前的 ['peiou'] 相等, 如果有,就放到 ['peiouArr'] 中。嗯,就是这样,求大神给个解决办法!我现在是这样写的:function arrCombination(arr) {    for (var i = 0; i < arr.length; i++)        for (var j = 0; j < arr.length; j++) {            if (arr[i]["id"] === arr[j]["relation"])                arr[i]["child"].push(arr[j]);            if (arr[i]["peiou"] !== 0 && arr[i]["peiou"] === arr[j]["id"])                arr[i]["peiouArr"].push(arr[j]);        }    return arr[0];}但老是有问题,有别的解决办法吗?
查看完整描述

目前暂无任何回答

  • 0 回答
  • 0 关注
  • 1142 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信