//聲明
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; }//參數(shù)
var params = [{ oldKey: "name", newKey: "title", newValue: v => { return v; } }, { oldKey: "is", newKey: "checked", newValue: v => { return v ? 1 : 0; } } ]//模擬數(shù)據(jù)
var oldData = [{ name: 1, is: 1, children: [{ name: 11, is: 1, children: [{ name: 1111, is: 0, }] }, { name: 12, is: 0, }] }, { name: 2, is: 1, }]//調(diào)用
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, }]
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/102821.html
摘要:類似于數(shù)組,但是中不存在重復(fù)元素??梢越邮芤粋€(gè)數(shù)組或者其他具有接口的數(shù)據(jù)結(jié)構(gòu)作為參數(shù)從上面的代碼可以看出有去重的功能。去重還有另一個(gè)方法將數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)轉(zhuǎn)換成數(shù)組。清除實(shí)例的指定成員。返回一個(gè)布爾值,表示某個(gè)值是否在實(shí)例之中。 Set Set類似于數(shù)組,但是Set中不存在重復(fù)元素。Set可以接受一個(gè)數(shù)組(或者其他具有itarable接口的數(shù)據(jù)結(jié)構(gòu))作為參數(shù) const set = ne...
摘要:對(duì)象對(duì)象作為一種復(fù)雜的數(shù)據(jù)類型,表示的是一組有序的鍵值對(duì)。解析與序列化對(duì)象流行的最主要的原因是因?yàn)閿?shù)據(jù)結(jié)構(gòu)可以解析為的對(duì)象。為了改變序列化對(duì)象的結(jié)果,函數(shù)返回值就是相應(yīng)鍵的值。否則按照默認(rèn)順序執(zhí)行序列化。 語(yǔ)法 JSON可以表示一下三種類型的值: 簡(jiǎn)單值:使用與js相同的語(yǔ)法可以在json中表示字符串、數(shù)值、布爾值和null。但是json不支持js的undefined。 對(duì)象:對(duì)象作...
摘要:相關(guān)閱讀完爆,全方位對(duì)比解析一基礎(chǔ)功能完爆,全方位對(duì)比解析二權(quán)限控制自發(fā)布以來,不斷有網(wǎng)友拿來和的對(duì)比,甚至有不少人聲稱完爆。近年穩(wěn)步上升,已躍居第名。 相關(guān)閱讀: 完爆F(xiàn)acebook/GraphQL,APIJSON全方位對(duì)比解析(一)-基礎(chǔ)功能 完爆F(xiàn)acebook/GraphQL,APIJSON全方位對(duì)比解析(二)-權(quán)限控制 自APIJSON發(fā)布以來,不斷有網(wǎng)友拿來和Facebo...
摘要:高級(jí)部分前后端聯(lián)動(dòng)瀏覽器服務(wù)器數(shù)據(jù)庫(kù)是什么文件系統(tǒng)是一種數(shù)據(jù)庫(kù)是一種數(shù)據(jù)庫(kù)也是一個(gè)軟件只要能長(zhǎng)久地存數(shù)據(jù),就是數(shù)據(jù)庫(kù)前后端如何配合接下來我們用一個(gè)文件充當(dāng)數(shù)據(jù)庫(kù)實(shí)際上數(shù)據(jù)庫(kù)的存儲(chǔ)內(nèi)容本質(zhì)就是一個(gè)帶有結(jié)構(gòu)的文件捋一捋前后端交互的過程代碼在這里 jsonp javascript高級(jí)部分:前后端聯(lián)動(dòng),瀏覽器+服務(wù)器 1數(shù)據(jù)庫(kù)是什么 文件系統(tǒng)是一種數(shù)據(jù)庫(kù)MySQL 是一種數(shù)據(jù)庫(kù),也是一個(gè)軟件只...
摘要:后面可以使用任意字符和下劃線例如非法的變量在函數(shù)中創(chuàng)建的,它的生命周期與函數(shù)一樣,在主腳本中生成的變量不在函數(shù)中不是全局變量,不能在函數(shù)中使用它,但是可以用來訪問使用變量的名字作為字符串的關(guān)鍵字給程序員一個(gè)鼓勵(lì)唄微信支付寶 1.類的寫法 class MyClass { private $id = 19; public function __construct() { ...
閱讀 2974·2023-04-25 17:46
閱讀 3601·2021-11-25 09:43
閱讀 1103·2021-11-18 10:02
閱讀 3063·2021-10-14 09:43
閱讀 2784·2021-10-13 09:40
閱讀 1534·2021-09-28 09:35
閱讀 2196·2019-08-30 15:52
閱讀 3165·2019-08-30 14:06