Acme.BookStore.HttpApi.Host/node_modules/array-sort/index.js
(开头部分) 2KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
/*!
* array-sort <https://github.com/jonschlinkert/array-sort>
*
* Copyright (c) 2015-2017, Jon Schlinkert.
* Released under the MIT License.
*/
'use strict';
var defaultCompare = require('default-compare');
var typeOf = require('kind-of');
var get = require('get-value');
/**
* Sort an array of objects by one or more properties.
*
* @param {Array} `arr` The Array to sort.
* @param {String|Array|Function} `props` One or more object paths or comparison functions.
* @param {Object} `opts` Pass `{ reverse: true }` to reverse the sort order.
* @return {Array} Returns a sorted array.
* @api public
*/
function arraySort(arr, props, opts) {
if (arr == null) {
return [];
}
if (!Array.isArray(arr)) {
throw new TypeError('array-sort expects an array.');
}
if (arguments.length === 1) {
return arr.sort();
}
var args = flatten([].slice.call(arguments, 1));
// if the last argument appears to be a plain object,
// it's not a valid `compare` arg, so it must be options.
if (typeOf(args[args.length - 1]) === 'object') {
opts = args.pop();
}
return arr.sort(sortBy(args, opts));
}
/**
* Iterate over each comparison property or function until `1` or `-1`
* is returned.
*
* @param {String|Array|Function} `props` One or more object paths or comparison functions.
* @param {Object} `opts` Pass `{ reverse: true }` to reverse the sort order.
* @return {Array}
*/
function sortBy(props, opts) {
opts = opts || {};
return function compareFn(a, b) {
var len = props.length, i = -1;
后面还有 45 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
