大神们好,我现在有一个这样的需求,后台返回一个二维的数组,然后我根据参数的不同转化为多维数组;后台返回的数组:(这个是我手写的假数据)现在要根据这个数组来做一些改变,下面是我希望得到的数据说明一下逻辑:根据数组第一个值中 '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/150
提交
取消