// Underscore.js 1.8.2
// http://underscorejs.org
// (c) 2009-2015 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
// Underscore may be freely distributed under the MIT license.
(function () {
// Baseline setup
// --------------
// Establish the root object, `window` in the browser, or `exports` on the server.
// var root = this;
// // Save the previous value of the `_` variable.
// var previousUnderscore = root._;
// Save bytes in the minified (but not gzipped) version:
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
// Create quick reference variables for speed access to core prototypes.
var
push = ArrayProto.push,
slice = ArrayProto.slice,
toString = ObjProto.toString,
hasOwnProperty = ObjProto.hasOwnProperty;
// All **ECMAScript 5** native function implementations that we hope to use
// are declared here.
var
nativeIsArray = Array.isArray,
nativeKeys = Object.keys,
nativeBind = FuncProto.bind,
nativeCreate = Object.create;
// Naked function reference for surrogate-prototype-swapping.
var Ctor = function () { };
// Create a safe reference to the Underscore object for use below.
var _ = function (obj) {
if (obj instanceof _) return obj;
if (!(this instanceof _)) return new _(obj);
this._wrapped = obj;
};
// Export the Underscore object for **Node.js**, with
// backwards-compatibility for the old `require()` API. If we're in
// the browser, add `_` as a global object.
// if (typeof exports !== 'undefined') {
// if (typeof module !== 'undefined' && module.exports) {
// exports = module.exports = _;
// }
// exports._ = _;
// } else {
// root._ = _;
// }
module.exports = _;
// Current version.
_.VERSION = '1.8.2';
// Internal function that returns an efficient (for current engines) version
// of the passed-in callback, to be repeatedly applied in other Underscore
// functions.
var optimizeCb = function (func, context, argCount) {
if (context === void 0) return func;
switch (argCount == null ? 3 : argCount) {
case 1: return function (value) {
return func.call(context, value);
};
case 2: return function (value, other) {
return func.call(context, value, other);
};
case 3: return function (value, index, collection) {
return func.call(context, value, index, collection);
};
case 4: return function (accumulator, value, index, collection) {
return func.call(context, accumulator, value, index, collection);
};
}
return function () {
return func.apply(context, arguments);
};
};
// A mostly-internal function to generate callbacks that can be applied
// to each element in a collection, returning the desired result 鈥� either
// identity, an arbitrary callback, a property matcher, or a property accessor.
var cb = function (value, context, argCount) {
if (value == null) return _.identity;
if (_.isFunction(value)) return optimizeCb(value, context, argCount);
if (_.isObject(value)) return _.matcher(value);
return _.property(value);
};
_.iteratee = function (value, context) {
return cb(value, context, Infinity);
};
// An internal function for creating assigner functions.
var createAssigner = function (keysFunc, undefinedOnly) {
return function (obj) {
var length = arguments.length;
if (length < 2 || obj == null) return obj;
for (var index = 1; index < length; index++) {
var source = arguments[index],
keys = keysFunc(source),
l = keys.length;
for (var i = 0; i < l; i++) {
var key = keys[i];
if (!undefinedOnly || obj[key] === void 0) obj[key] = source[key];
}
}
return obj;
};
};
// An internal function for creating a new object that inherits from another.
var baseCreate = function (prototype) {
if (!_.isObject(prototype)) return {};
if (nativeCreate) return nativeCreate(prototype);
Ctor.prototype = prototype;
var result = new Ctor;
Ctor.prototype = null;
return result;
};
// Helper for collection methods to determine whether a collection
// should be iterated as an array or as an object
// Related: http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength
var MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;
var isArrayLike = function (collection) {
var length = collection != null && collection.length;
return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;
};
// Collection Functions
// --------------------
// The cornerstone, an `each` implementation, aka `forEach`.
// Handles raw objects in addition to array-likes. Treats all
// sparse array-likes as if they were dense.
_.each = _.forEach = function (obj, iteratee, context) {
iteratee = optimizeCb(iteratee, context);
var i, length;
if (isArrayLike(obj)) {
for (i = 0, length = obj.length; i < length; i++) {
iteratee(obj[i], i, obj);
}
} else {
var keys = _.keys(obj);
for (i = 0, length = keys.length; i < length; i++) {
iteratee(obj[keys[i]], keys[i], obj);
}
}
return obj;
};
// Return the results of applying the iteratee to each element.
_.map = _.collect = function (obj, iteratee, context) {
iteratee = cb(iteratee, context);
var keys = !isArrayLike(obj) && _.keys(obj),
length = (keys || obj).length,
results = Array(length);
for (var index = 0; index < length; index++) {
var currentKey = keys ? keys[index] : index;
results[index] = iteratee(obj[currentKey], currentKey, obj);
}
return results;
};
// Create a reducing function iterating left or right.
function createReduce(dir) {
// Optimized iterator function as using arguments.length
// in the main function will deoptimize the, see #1991.
function iterator(obj, iteratee, memo, keys, index, length) {
for (; index >= 0 && index < length; index += dir) {
var currentKey = keys ? keys[index] : index;
memo = iteratee(memo, obj[currentKey], currentKey, obj);
}
return memo;
}
return function (obj, iteratee, memo, context) {
iteratee = optimizeCb(iteratee, context, 4);
var keys = !isArrayLike(obj) && _.keys(obj),
length = (keys || obj).length,
index = dir > 0 ? 0 : length - 1;
// Determine the initial value if none is provided.
if (arguments.length < 3) {
memo = obj[keys ? keys[index] : index];
index += dir;
}
return iterator(obj, iteratee, memo, keys, index, length);
};
}
// **Reduce** builds up a single result from a list of values, aka `inject`,
// or `foldl`.
_.reduce = _.foldl = _.inject = createReduce(1);
// The right-associative version of reduce, also known as `foldr`.
_.reduceRight = _.foldr = createReduce(-1);
// Return the first value which passes a truth test. Aliased as `detect`.
_.find = _.detect = function (obj, predicate, context) {
var key;
if (isArrayLike(obj)) {
key = _.findIndex(obj, predicate, context);
} else {
key = _.findKey(obj, predicate, context);
}
if (key !== void 0 && key !== -1) return obj[key];
};
// Return all the elements that pass a truth test.
// Aliased as `select`.
_.filter = _.select = function (obj, predicate, context) {
var results = [];
predicate = cb(predicate, context);
_.each(obj, function (value, index, list) {
if (predicate(value, index, list)) results.push(value);
});
return results;
};
// Return all the elements for which a truth test fails.
_.reject = function (obj, predicate, context) {
return _.filter(obj, _.negate(cb(predicate)), context);
};
// Determine whether all of the elements match a truth test.
// Aliased as `all`.
_.every = _.all = function (obj, predicate, context) {
predicate = cb(predicate, context);
var keys = !isArrayLike(obj) && _.keys
没有合适的资源?快使用搜索试试~ 我知道了~
配音神器小程序前端,微信小程序,抖音小程序
共154个文件
png:78个
js:25个
wxss:20个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 90 浏览量
2022-03-31
10:34:11
上传
评论 1
收藏 1.55MB RAR 举报
温馨提示
配音神器小程序前端,微信小程序,抖音小程序
资源推荐
资源详情
资源评论
收起资源包目录
配音神器小程序前端,微信小程序,抖音小程序 (154个子文件)
genduo.jpg 22KB
tx.jpg 18KB
underscore.js 50KB
index.js 29KB
util.js 22KB
aes.js 21KB
index.js 12KB
htmlToWxml.js 11KB
app.js 8KB
md5.js 8KB
index.js 6KB
index.js 5KB
base64.js 3KB
sample.js 1KB
dialog.js 1KB
recommend.js 1KB
showPrice.js 1KB
logo.js 1KB
util.js 928B
cache.js 746B
cu-custom.js 727B
defaultTitle.js 666B
bottomScrollview.js 545B
oneClick.js 508B
toast.js 497B
421C7F4612C83BAF247A174190251351.js 343B
siteinfo.js 298B
project.config.json 2KB
app.json 1KB
index.json 553B
index.json 435B
showPrice.json 411B
logo.json 411B
sample.json 411B
recommend.json 411B
oneClick.json 411B
defaultTitle.json 411B
bottomScrollview.json 411B
index.json 388B
index.json 207B
sitemap.json 191B
cu-custom.json 48B
dialog.json 25B
logo.png 407KB
heart.png 242KB
d.png 223KB
logo.png 106KB
share_cover.png 50KB
arrowhead.png 29KB
nvOptImg.png 19KB
bar_bg4.png 19KB
nv.png 18KB
tj.png 17KB
home_suspension_sign_in@3x.png 17KB
xcx_extract_video.png 16KB
nanOptImg.png 16KB
back-home-b.png 15KB
currency_popup_subscribe_btn_bg@2x.png 15KB
back-b.png 15KB
subscribe_icon_upgrade@2x.png 14KB
back-home.png 14KB
back.png 14KB
nan.png 14KB
subscribe_icon_delete_advertisements@2x.png 13KB
subscribe_icon_currency_number@2x.png 13KB
subscribe_icon_Infinite_number@2x.png 12KB
bar_bg2.png 12KB
gb.png 12KB
bar_bg3.png 11KB
recharge_recharge_btn_bg@3x.png 11KB
bar_bg1.png 10KB
my_membership_card_bg@3x.png 8KB
my_head_portrait_default@3x.png 7KB
my_top_bg@3x.png 6KB
hotIcon.png 5KB
home_vip_icon@3x.png 5KB
myself_sed_zise.png 5KB
myself_zise.png 5KB
x.png 4KB
point.png 3KB
hotIconClick.png 3KB
my_arc@3x.png 2KB
my_help_icon@3x.png 2KB
common_nonmember_icon@3x.png 2KB
my_share_icon@3x.png 2KB
my_set_up_icon@3x.png 2KB
my_task_icon@3x.png 2KB
home_bt@3x.png 2KB
home_bt@2x.png 2KB
home_popup_first_bt_bg@2x.png 2KB
set_up_about_icon@2x.png 2KB
home_popup_second_bt_bg@2x.png 2KB
set_up_privacy_icon@2x.png 2KB
index-active.png 2KB
question@2x.png 1KB
set_up_agreement_icon@2x.png 1KB
set_up_feedback_icon@2x.png 1KB
me.png 1KB
make-active.png 1KB
test-icon.png 1KB
共 154 条
- 1
- 2
资源评论
果果科技
- 粉丝: 48
- 资源: 22
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功