//聲明
function transTOTree(arr, rule) { arr.forEach(item => { rule.forEach(map => { for (let key in map) { let newValue = map.oldKey ? item[map.oldKey] : ""; if (map.newValue) { newValue = map.newValue(newValue); } item[map.newKey] = newValue; } }) if (item.children && item.children.length > 0) { transTOTree(item.children, rule); } }); return arr; }//參數
var params = [{ oldKey: "name", newKey: "title", newValue: v => { return v; } }, { oldKey: "is", newKey: "checked", newValue: v => { return v ? 1 : 0; } } ]//模擬數據
var oldData = [{ name: 1, is: 1, children: [{ name: 11, is: 1, children: [{ name: 1111, is: 0, }] }, { name: 12, is: 0, }] }, { name: 2, is: 1, }]//調用
console.log(transTOTree(oldData, params))//輸出
[{ title: 1, checked: true, children: [{ title: 11, checked: true, children: [{ title: 1111, checked: false, }] }, { title: 12, checked: false, }] }, { title: 2, checked: true, }]
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/102821.html
摘要:類似于數組,但是中不存在重復元素。可以接受一個數組或者其他具有接口的數據結構作為參數從上面的代碼可以看出有去重的功能。去重還有另一個方法將數據結構的數據轉換成數組。清除實例的指定成員。返回一個布爾值,表示某個值是否在實例之中。 Set Set類似于數組,但是Set中不存在重復元素。Set可以接受一個數組(或者其他具有itarable接口的數據結構)作為參數 const set = ne...
摘要:對象對象作為一種復雜的數據類型,表示的是一組有序的鍵值對。解析與序列化對象流行的最主要的原因是因為數據結構可以解析為的對象。為了改變序列化對象的結果,函數返回值就是相應鍵的值。否則按照默認順序執行序列化。 語法 JSON可以表示一下三種類型的值: 簡單值:使用與js相同的語法可以在json中表示字符串、數值、布爾值和null。但是json不支持js的undefined。 對象:對象作...
摘要:相關閱讀完爆,全方位對比解析一基礎功能完爆,全方位對比解析二權限控制自發布以來,不斷有網友拿來和的對比,甚至有不少人聲稱完爆。近年穩步上升,已躍居第名。 相關閱讀: 完爆Facebook/GraphQL,APIJSON全方位對比解析(一)-基礎功能 完爆Facebook/GraphQL,APIJSON全方位對比解析(二)-權限控制 自APIJSON發布以來,不斷有網友拿來和Facebo...
摘要:后面可以使用任意字符和下劃線例如非法的變量在函數中創建的,它的生命周期與函數一樣,在主腳本中生成的變量不在函數中不是全局變量,不能在函數中使用它,但是可以用來訪問使用變量的名字作為字符串的關鍵字給程序員一個鼓勵唄微信支付寶 1.類的寫法 class MyClass { private $id = 19; public function __construct() { ...
閱讀 2959·2023-04-25 17:46
閱讀 3587·2021-11-25 09:43
閱讀 1092·2021-11-18 10:02
閱讀 3051·2021-10-14 09:43
閱讀 2767·2021-10-13 09:40
閱讀 1524·2021-09-28 09:35
閱讀 2184·2019-08-30 15:52
閱讀 3154·2019-08-30 14:06