不知道你們有沒有在專案中遇到特別複雜的資料,最近的專案就遇到過,其實說實話並不是資料有多複雜,主要是太多,因為很多資料的處理無非就是過濾,去重等等這幾種方式資料
const q =[,
,,,,
],},
,,,,
,],}
,,,,
];
當讓原先的資料肯定不是這個的,這些資料只是我在網上隨便搜了個類似的,真實的資料比這複雜的很多,而且我拿到這個資料是要渲染成一棵樹形控制項的,類似下方這個
首先需要對資料過濾,因為樹形控制項有自己的字段對應的,所以我們需要對資料的字段轉換。
因為不知道有多少層級,所以遞迴處理是一定的
// 過濾字段
const
formatformdatawrap
= nodes =>
// 以下就是你真實要輸出的字段,可自行調整
return;}
);};
樹形控制項需要保證key值是唯一的,所以我們需要對資料進行去重處理
// 去重
const
handlerepeat
= nodes =>
;return nodes.
reduce
(function
(item, next)
obj[next.key]?""
:(obj[next.key]
=true
&& item.
push
(next));
return item;},
);};
其實對龐大複雜的資料處理只要自身對遞迴方法理解的稍微好點,都是比較簡單的。 Drools中多巢狀物件的處理
原來的文章就曾經提到過,在drools中,域約束好像只能適用於物件的簡單型別域,複雜物件型別的是不能用域限定方式來做的。如 code rule weekday balance salience 0 when customer customer card card scard card discoun...
js map 處理陣列和物件資料
之前的文章梳理了js陣列與物件屬性的遍歷方法,本文介紹專門用以遍歷並處理資料的map 方法。一 原生map map 是陣列的乙個方法,它建立乙個新陣列,其結果是該陣列中的每個元素都呼叫乙個提供的函式後返回的結果。map 裡面的處理函式接受三個引數,分別指代當前元素 當前元素的索引 陣列本身。ie9以...
近期遇到的陣列物件處理
乙個陣列物件,根據另乙個陣列的ids來過濾資料。arrf.filter i arrz.includes i.id 判斷乙個陣列是否是另乙個陣列的 子集 arrf.every i arrz.includes i 陣列物件選擇出乙個與之id相等的物件 使用 find 方法會更加優雅一些,使用 filte...