UNPKG

flo-utils

Version:
33 lines (28 loc) 748 B
/** * 函数拥有了单个操作或者批量操作元素的能力 * * @param {*} fn * * @example * * const setStyle = useBatch((el, key, value) => { el.style[key] = value; }); setStyle([...items], 'color', 'red'); // 拥有了批量处理能力 * */ function useBatch(fn) { var _this = this; return function (subject) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } if (Array.isArray(subject)) { return subject.map(function (s) { return fn.call.apply(fn, [_this, s].concat(args)); }); } return fn.call.apply(fn, [_this, subject].concat(args)); }; } export default useBatch;