`
123003473
  • 浏览: 1061763 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

javascirpt Array sort max min

 
阅读更多
sort() 方法用于对数组的元素进行排序。
语法: arrayObject.sort(sortby)
参数:sortby 可选。规定排序顺序。必须是函数。
说明:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
    * 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    * 若 a 等于 b,则返回 0。
    * 若 a 大于 b,则返回一个大于 0 的值。


Example:
function compare(a,b){
    if(parseInt(a)>parseInt(b)){
        return 1;
    }
    if(parseInt(a)==parseInt(b)){
        return 0;
    }
    if(parseInt(a)<parseInt(b)){
        return -1;
    }
}

var a = [0,10,3,4,5];

a.sort(compare);

[0, 3, 4, 5, 10]





Javascript中获取数组最大值和最小值的方法
方法一:
//最小值
Array.prototype.min = function() {
var min = this[0];
var len = this.length;
for (var i = 1; i < len; i++){ 
if (this[i] < min){ 
min = this[i]; 
} 
} 
return min;
}
//最大值
Array.prototype.max = function() { 
var max = this[0];
var len = this.length; 
for (var i = 1; i < len; i++){ 
if (this[i] > max) { 
max = this[i]; 
} 
} 
return max;
}
如果你是引入类库进行开发,害怕类库也实现了同名的原型方法,可以在生成函数之前进行重名判断:
if (typeof Array.prototype['max'] == 'undefined') { 
Array.prototype.max = function() { 
... ...
}
}
方法二:
用Math.max和Math.min方法可以迅速得到结果。apply能让一个方法指定调用对象与传入参数,并且传入参数是以数组形式组织的。恰恰现在有一个方法叫Math.max,调用对象为Math,与多个参数
Array.max = function( array ){ 
return Math.max.apply( Math, array );
};

Array.min = function( array ){ 
return Math.min.apply( Math, array );
};
但是,John Resig是把它们做成Math对象的静态方法,不能使用大神最爱用的链式调用了。但这方法还能更精简一些,不要忘记,Math对象也是一个对象,我们用对象的字面量来写,又可以省几个比特了。
Array.prototype.max = function(){ 
return Math.max.apply({},this) 
} 
Array.prototype.min = function(){ 
return Math.min.apply({},this) 
} 
[1,2,3].max()// => 3 
[1,2,3].min()// => 1
分享到:
评论

相关推荐

    一组用 Javascript 解决的技术软件开发面试问题,非常合理.zip

    }// Greatest product is either (min1 * min2 * max1 || max1 * max2 * max3)function computeProduct(unsorted) { var sortedArray = unsorted.sort(sortIntegers), product1 = 1, product2 = 1, array_n_element

    leetcode第一题输入条件-interview-questions-in-[removed]javascript中的面试问题

    leetcode 第一题输入条件Javascript() ...max3) function computeProduct ( unsorted ) { var sortedArray = unsorted . sort ( sortIntegers ) , product1 = 1 , product2 = 1 , array_n_element = sortedArra

    javascript (2).docx

    number类型代表数字,有最大值Number.MAX_VALUE和最小值Number.MIN_VALUE。string是不可变的字符序列,有length属性和各种操作字符串的方法。boolean有true和false两个值,null表示空,undefined表示未定义。在转换...

    javascript (2).pdf

    number类型包含整数和浮点数,有最大值Number.MAX_VALUE和最小值Number.MIN_VALUE。string类型是不可变的字符序列,有length属性和多种操作方法,如charAt、substring等。boolean类型只有true和false两个值。null...

    JS实现获取数组中最大值或最小值功能示例

    在示例代码中,getMaxMin函数首先判断了传入数组是否为空,然后根据maxmin参数调用Math.max或Math.min函数,并返回结果。如果数组为空,则返回undefined。 除了上述三种方法,还有其他一些技巧可以用来获取数组中的...

    JavaScript基础第06天笔记1

    - `Math.max()`和`Math.min()`:分别用于找出一组数值中的最大值和最小值。 - `Math.random()`:生成一个介于0(包含)和1(不包含)之间的随机浮点数。 2. **ECMAScript与JavaScript** - JavaScript是由网景...

    即用即查JAVASCRIPT核心对象参考手册

    - `sort()`:对数组元素进行排序。 - `reverse()`:反转数组元素的顺序。 - `join()`:将数组的所有元素放入一个字符串并返回此字符串。 - `concat()`:用于合并两个或多个数组,并返回结果。 - `indexOf()`:...

    JavaScript中数组的一些算法和技巧总结

    - 查找最大值/最小值:`Math.max.apply(null, arr)` 和 `Math.min.apply(null, arr)` 或使用`reduce()`。 - 两数组交集、并集、差集:使用`filter()`和`includes()`实现。 - 快速排序:可以使用数组的`sort()`...

    前端Javascript相关面试基础问答整理md

    - **Math 方法**:`Math.abs()`, `Math.round()`, `Math.random()`, `Math.max()`, `Math.min()`, `Math.sqrt()`, `Math.pow()`, `Math.floor()`, `Math.ceil()` 等。 以上知识点覆盖了 JavaScript 面试中经常遇到...

    javascript:对象化编程

    - `Number.MAX_VALUE`: 表示最大安全整数值。 - `Number.MIN_VALUE`: 表示最小安全整数值。 - `Number.NaN`: 表示非数字值。 - `Number.NEGATIVE_INFINITY`: 表示负无穷大。 - `Number.POSITIVE_INFINITY`: 表示正...

    前端项目-d3-array.zip

    **搜索** 功能如`d3.max()`、`d3.min()`、`d3.sum()`、`d3.mean()`等,能快速获取数组的最大值、最小值、总和及平均值,大大简化了数据分析工作。 **汇总** 操作则包括计算统计量,如中位数、四分位数、标准差和...

    Javascript获取数组中的最大值和最小值的方法汇总

    比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面来介绍如下几种方法,代码如下: 方法一: //最小值 Array.prototype.min = function() { var min = this[0]; var...

    javascript的原生方法获取数组中的最大(最小)值

    在JavaScript中,获取数组中的最大或最小值有多种方法,其中两种主要的原生方法是`Array.prototype.sort()`和`Math.max()`以及`Math.min()`。下面将详细讲解这两种方法的使用及其背后的原理。 1. **Array.prototype...

    Javascript笔记

    - **`Math.max()`**: 返回最大值。 **4.4 数组对象** - **`concat()`**: 合并数组。 - **`join()`**: 将数组元素连接为字符串。 - **`pop()`**: 删除数组最后一个元素。 - **`push()`**: 在数组末尾添加一个或多个...

    JavaScript英文单词汇总.pdf

    * array: 数组 * length: 长度 * concat: 连接 * join: 串联 * pop: 弹出 * push: 压入 * reverse: 反转 * sort: 排序 * slice: 切片 * splice: 铰接 * charAt: 获取某位置字符 * indexOf: 判断某字符的首次位置 * ...

    D3.js的基础部分之数组的处理数组的排序和求值(v3版本)

    3. `d3.extent(array[, accessor])`:返回数组的最小值和最大值组成的数组,即`[min, max]`。 4. `d3.sum(array[, accessor])`:计算数组所有元素的总和。如果数组为空,返回`0`。 5. `d3.mean(array[, accessor])...

    MongoDB查询的JavaScript实现Mingo.zip

    $type)Aggregation Pipeline Operators ($group, $match, $project, $sort, $limit, $unwind, $skip)Conditional Operators ($cond, $ifNull)Group Operators ($addToSet, $sum, $max, $min, $avg, $push, $first, ...

Global site tag (gtag.js) - Google Analytics