UNPKG

vue-ant-patterns

Version:

vue-ant-patterns

55 lines (45 loc) 1.45 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.uniq = exports.recursionDragNode = undefined; var _extend = require('extend'); var _extend2 = _interopRequireDefault(_extend); var _utils = require('../../lib/_utils'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; } // 利用map去重 /* * @Author: w.pengfei * @Date: 2020-09-06 12:09:37 * @LastEditTime: 2020-09-06 12:16:43 * @Description: '' * @LastEditors: w.pengfei */ function uniq() { var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : []; var key = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'id'; var map = {}; var list = []; source.map(function (it) { var k = (0, _utils.relationHandler)(key, it); map[k] = (0, _extend2['default'])({}, it); }); Object.keys(map).map(function (k) { list.push((0, _extend2['default'])({}, map[k])); }); return { list: list, map: map }; } // 递归查找匹配的节点 function recursionDragNode(data, key, rel, callback) { data.forEach(function (item, index, arr) { var kVal = (0, _utils.relationHandler)(rel, item); if (kVal === key) { return callback(item, index, arr); } if (item.children) { return recursionDragNode(item.children, key, rel, callback); } }); } exports.recursionDragNode = recursionDragNode; exports.uniq = uniq;