UNPKG

util-helpers

Version:

一个基于业务场景的工具方法库

33 lines (29 loc) 850 B
'use strict'; var tslib = require('tslib'); var ut2 = require('ut2'); function treeToList(tree, childrenField) { var list = []; if (!ut2.isArray(tree)) { return list; } function recusion(arr) { arr.forEach(function (item) { if (ut2.isObject(item)) { var newItem = tslib.__assign({}, item); list.push(newItem); if (newItem[childrenField]) { if (ut2.isArray(newItem[childrenField]) && newItem[childrenField].length > 0) { recusion(newItem[childrenField]); } delete newItem[childrenField]; } } else { list.push(item); } }); } recusion(tree); return list; } module.exports = treeToList;