前面我們封裝了一維數組(具備樹形結構相關屬性)處理成樹形結構的方法:https://www.cnblogs.com/coder--wang/p/15013664.html 接下來我們來一波反向操作,封裝一個可以將樹形結構的數據扁平化的方法。這種場景在業務中還是很常見的,比如一個級聯選擇器,有時候 ...
前面我們封裝了一維數組(具備樹形結構相關屬性)處理成樹形結構的方法:https://www.cnblogs.com/coder--wang/p/15013664.html 接下來我們來一波反向操作,封裝一個可以將樹形結構的數據扁平化的方法。這種場景在業務中還是很常見的,比如一個級聯選擇器,有時候 ...
/* * 組裝樹形函數 (樹形有無限層級) * 根據parent_id 將數據組裝到每個元素children屬性當中 parent_id = 0 為最頂級元素 */ ...
Array.prototype.reduce()方法介紹: 感性認識reduce累加器: 你可以通過打印reducer的兩個參數,從而直觀的感受到,第二個參數currentValue是當前的元素,而第一個參數accumulator總是返回每一次執行reducer函數的返回值,如此一次次累加 ...
需求: 1、把如下數據按照parent_id等於id的規則建立父子關系 2、同一層級的數組按照order升序 最終效果: 實現代碼: 說明: 其實就是兩個for循環嵌套,性能上還沒有for循環好。 歡迎關注公眾號【無聊猿】,共同學習探討 ...
數組扁平化的方式 什么是數組扁平化? 數組扁平化:指將一個多維數組轉化為一個一維數組。 例:將下面數組扁平化處理。 1.使用flat() flat() 方法是ES10提出的,它會按照一個可指定的深度遞歸遍歷數組,並將所有元素與遍歷到的子數組中的元素合並為一個新數組返回 ...
var newArr = []新建一個數據,用於存儲扁平化化后的數組 flatData(arr) { arr.forEach(item => { this.res.push(item ...
treeData(arr) { let cloneData = JSON.parse(JSON.stringify(arr)) //先將原來的數組深拷貝一份,防止影響到原來的數據 return cloneData.filter ...
主要使用的join方法: 方法2: 知識點: 方法3: flat()默認只會“拉平”一層,如果想要“拉平”多層的嵌套數組,可以將flat()方法的參數寫成一個整數,表示想要拉平的層數,默認為1。 如果不管有 ...