Layui(十八) Layui 自定義兩個數據對象是否有相等元素,有則剔除

目的:

           把原本arr1 中含有arr2 的數據對象剔除

過程:

//剔除未聯動點中的已聯動點
        function cleanData(arr1, arr2) {
            console.log("原始數據", arr1, arr2);
            for (let i = 0; i < arr1.length; i++) {
                let childata1 = arr1[i]['children'];
                for (let x = 0; x < arr2.length; x++) {
                    // console.log('未聯動', childata1[x]);
                    let childata2 = arr2[x]['children'];
                    for (let y = 0; y < childata2.length; y++) {
                        // console.log('已聯動', childata2[y]);
                        if (JSON.stringify(childata1[x]) === JSON.stringify(childata2[y])) {
                            //去除與已聯動點相同的數據,留下刪除後的數據
                            childata1.splice(i, 1);
                        }
                    }
                }
            }
            TreeTable(arr1);
            TreeTable1(arr2)

        }

 

PS:  注意數據格式,不要直接使用

      ①、 arr1數據

"data":[{"id":0,"name":"192.168.1.167","children":[{"id":68,"name":"167","pname":"167_輔助輸出"},{"id":68,"name":"167","pname":"167_門鎖"}]},{"id":1,"name":"192.168.1.168","children":[{"id":69,"name":"168","pname":"168_輔助輸出"},{"id":69,"name":"168","pname":"168_門鎖"}]

        ②、 arr2數據

"data":[{"id":0,"name":"192.168.1.167","children":[{"id":68,"name":"167","pname":"167_輔助輸出"}]},{"id":1,"name":"192.168.1.168","children":[{"id":69,"name":"168","pname":"168_門鎖"}]}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章