精华内容
下载资源
问答
  • 最近需要将一个对象数组存到数据库中, 然后又要进行各种操作,这里写一个sample来记录操作方式。嗯 室友叫John,这里就写一个John吧。...对象数组中某个属性的最大最小值 let testArray = [ { ...

    最近需要将一个对象数组存到数据库中, 然后又要进行各种操作,这里写一个sample来记录操作方式。嗯 室友叫John,这里就写一个找John吧。sample有以下功能:

    • 查找对象数组中某个对象属性值是否存在并返回完整对象
    • 查找对象数组中某个对象属性值是否存在并返回Index
    • 以对象数组中对象某个属性排序
    • 找出对象数组中某个属性的最大最小值
    let testArray = [
        {
            id:0,
            name:'Allen'//BD
        },
        {
            id:3,
            name:'Peter'//leader
        },
        {
            id:2,
            name:'John'//QA室友
        },
        {
            id:5,
            name:'Andy'
        },
    ]
    
    //功能:判断John是否存在,并输出obejcet
    //find方法:数组实例的find方法,用于找出第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
    
    console.info(testArray.find((element)=>element.name === "John");
    //输出: { id: 2, name: 'John' }
    
    //功能:查找John 的所在位置
    //findIndex:数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
    
    console.info(testArray.findIndex((element)=>element.name === "John");
    //输出: 2 
    
    
    //功能:对testArray以id排序
    //sort:sort() 方法用于对数组的元素进行排序。参数为 比较函数实现该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字,若a小于b在排序后的数组中a应该出现在b之前,则返回一个小于0的值
    
    console.info(testArray.sort((a,b)=>a.id - b.id));//(element)=>sortNumber(element.id))); 升序
    // 输出
    // [ { id: 0, name: 'Allen' },
    //   { id: 2, name: 'John' },
    //   { id: 3, name: 'Peter' },
    //   { id: 5, name: 'Andy' } ]
    
    //功能:对testArray 找出id最大值 和最小值
    //reduce:reduce()把结果继续和序列的下一个元素做累积计算,在reduce参数中写一个最大值比较,返回最大值和序列后续值进行比较 
    
    console.info(testArray.reduce((pre,cur)=>pre.id >cur.id ? pre:cur);//最大值
    console.info(testArray.reduce((pre,cur)=>pre.id < cur.id ? pre:cur);//最小值
    // 输出
    // { id: 5, name: 'Andy' }
    // { id: 0, name: 'Allen' }
    // 看起来性能应该是有问题,可以用更好求值算法
    
    
    
    
    展开全文
  • JavaScript 获取数组的最大值和...js获取数组最大值和最小值 使用apply方法: var a = [1,2,3,5]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a))...

    JavaScript 获取数组的最大值和最小值

    js获取数组最大值和最小值
        使用apply方法:
    
        var a = [1,2,3,5];
    
        console.log(Math.max.apply(null, a));//最大值
    
        console.log(Math.min.apply(null, a));//最小值

    个人JavaScript小工具,每天熟记一点点。多练习,达到熟练的效果。

    posted @ 2018-01-19 16:44 王维璋 阅读( ...) 评论( ...) 编辑 收藏
    展开全文
  • 主要介绍了JavaScript遍历查找数组最大值与最小值的方法,结合实例形式分析了javascript基于数组遍历、判断实现最大值与最小值计算的相关操作技巧,需要的朋友可以参考下
  • 数组最大值方法总结 方式一: var arr=[1,2,5,70,66,55]; var max=arr[0]; for(var i=0;i<arr.length;i++){ if(max<arr[i]){ max=arr[i]; } } console.log(max); 方式二: ...

    求数组最大值方法总结

    方式一:

    			var arr=[1,2,5,70,66,55];
    			var max=arr[0];
    			for(var i=0;i<arr.length;i++){
    				if(max<arr[i]){
    					max=arr[i];
    				}
    			}
    			console.log(max);
    

    方式二:

    			var arr1=[10,11,15,66,90];
    			//apply(obj,[]);   第一个参数为对象  第二个参数为数组  
    			console.log(Math.max.apply(this,arr1));
    

    方式三:

    			var arr2=[10,20,30,55,66];
    			for(var i=0;i<arr2.length;i++){
    				
    			}
    			console.log(Math.max(...arr2));  //...扩展运算符ES6新增
    

    方式四:

    //使用sort排序  取最后一个值就是最大值  第四种
    			var arr3=[1,20,55,72,50];
    			arr3=arr3.sort(function(a,b){
    				return a-b;  //从小到大
    			})
    			/*
    			arr3=arr3.sort(function(a,b){
    				return b-a;  从大到小排序
    			})
    			console.log(arr3[0]);
    			
    			*/
    			console.log(arr3[arr3.length-1]);
    
    展开全文
  • 给定一个数组[1,8,5,4,3,9,2],编写一个算法,得到数组最大值 9,和最小值 1。 1、通过prototype属性扩展min()函数和max()函数 算法1的思路是在自定义min()和max()函数中,通过循环由第一个值依次与后面的值作比较...

    给定一个数组[1,8,5,4,3,9,2],编写一个算法,得到数组的最大值 9,和最小值 1。


    1、通过prototype属性扩展min()函数和max()函数

    算法1的思路是在自定义min()和max()函数中,通过循环由第一个值依次与后面的值作比较,动态更新最大值和最小值,从而找到结果。

            // 最小值
            Array.prototype.min = function () {
                let min = this[0];
                let len = this.length;
                for (let i = 1; i < len; i++) {
                    if (this[i] < min) min = this[i]
                }
                return min
            }
            // 最大值
            Array.prototype.max = function () {
                let max = this[0];
                let len = this.length;
                for (let i = 1; i < len; i++) {
                    if (this[i] > max) max = this[i]
                }
                return max
            }
            // 结果
            console.log(arr.min()); // 1
            console.log(arr.max()); // 9
    

    2、借助Math对象的min()函数和max()函数

    算法2的主要思路是通过apply()函数改变函数的执行体,将数组作为参数传递给apply()函数。这样数组就可以直接调用Math对象的min()函数和max()函数来获取返回值。

            Array.min = function(array) {
                return Math.min.apply(Math, array)
            }
            // 最大值
            Array.max = function (array) {
                return Math.max.apply(Math, array)
            }
            // 结果
            console.log(Array.min(arr)); // 1
            console.log(Array.max(arr)); // 9
    

    3、算法2的优化

    在算法2中将min()函数和max()函数作为Array类型的静态函数,但不支持链式调用,我们可以利用对象字面量进行简化。

            // 最小值
            Array.prototype.min = function() {
                return Math.min.apply({}, this)
            }
            // 最大值
            Array.prototype.max = function () {
                return Math.max.apply({}, this)
            }
            // 结果
            console.log(arr.min()); // 1
            console.log(arr.max()); // 9
    

    与算法2不同的是,在验证时,因为min()函数和max()函数属于实例方法,所以可以直接通过数组调用。
    上面的算法代码中apply()函数传入的第一个值为{},实际表示当前执行环境的全局对象。第二个参数this指向需要处理的数组。
    由于apply函数的特殊性第一个参数,指定为 null 或 undefined 时会自动替换为指向全局对象,原始值会被包装。所以我们也可以将第一个参数设置为null、undefind。

    4、借助Array类型的reduce()函数

    算法4的主要思想是reduce()函数不设置initialValue初始值,将数组的第一个元素直接作为回调函数的第一个参数,依次与后面的值进行比较。当需要找最大值时,每轮累加器返回当前比较中大的值;当需要找最小值时,每轮累加器返回当前比较中小的值。

            // 最小值
            Array.prototype.min = function () {
                return this.reduce((pre, cur) => {
                    return pre < cur ? pre : cur
                })
            }
            // 最大值
            Array.prototype.max = function () {
                return this.reduce((pre, cur) => {
                    return pre > cur ? pre : cur
                })
            }
            // 结果
            console.log(arr.min()); // 1
            console.log(arr.max()); // 9
    

    5、借助Array类型的sort()函数

    算法5的主要思想时借助数组的原生sort()函数对数组进行排序,排序完成后首尾元素即是数组的最小、最大元素。
    默认的sort()函数在排序时时按照字母顺序排序的,数字会被按照字符串处理。例如数字 18 会被当做"18"处理,数字 6 被当"6"来处理,在排序时是按照字符串的每一位进行比较的,因为"1"比"6"要小,所以"11"排序时要比"6"小。对于数值类型的数组来说,这显然不合理。所以我们需要进行自定义排序。

            let sortArr = arr.sort((a, b) => a - b)
            // 最小值
            sortArr[0]
            // 最大值
            sortArr[sortArr.length - 1]
            // 结果
            console.log(sortArr[0]); // 1
            console.log(sortArr[sortArr.length - 1]); // 9
    

    6、借助ES6的扩展运算符

            // 最小值
            Math.min(...arr)
            // 最大值
            Math.max(...arr)
            // 结果
            console.log(Math.min(...arr)); // 1
            console.log(Math.max(...arr)); // 9
    
    展开全文
  • 本文实例讲述了JS实现获取数组最大值或最小值功能。分享给大家供大家参考,具体如下: 方法一: //最小值 Array.prototype.min = function(){ var min = this[0]; var len = this.length; for(var i=1; i<...
  • apply能让一个方法指定调用对象与传入参数,并且传入参数是以数组形式组织的。恰恰现在有一个方法叫Math.max,调用对象为Math,与多个参数Array.max = function( array ){ return Math.max.apply( Math, array ); }...
  • js数组获取最大值的四种方式

    万次阅读 2018-09-05 16:37:43
    1.apply()应用某一对象的一个方法,用另...由于max()里面参数不能为数组,所以借助apply(funtion,args)方法调用Math.max(),function为要调用的方法,args是数组对象,当function为null时,默认为上文,即相当于apply...
  • JS里求数组最大值、最小值、平均值 arr 表示数组 var MaxValue = Math.max.apply(null, arr);//最大值 var MinValue
  • // 取最大值: //arr:数组对象,key:对象的某一项 function maxArrObj(arr,key){ return Math.max.apply(Math, arr.map(function(o) {return o[key]})); } // 取最小值: //arr:数组对象,key:对象的某一项 ...
  • JS获取JSON对象数组某个属性最大值

    千次阅读 2017-11-29 18:23:00
    var name_value= [{"name":"闵行区","value":20},{"name":"浦东新区","value":30},{"name":"杨浦区","value":10}] var list = new Array(); for(var i in name_value){ ...
  • JavaScript Array排序以及查找最大值最小值方法小结
  • 一、去掉对象数组中id 不为 0的数据 var myCurWindowList = myCurWindowList.filter(function (item) { //去掉id为0的数据 return item.id !== 0; }); 二、最大值 var pixelradioRow = Math.max.apply(Math, ...
  • JS中实现数组最大值

    千次阅读 2018-10-23 10:27:08
    情景: 有一个如下数组: ...我现在要求取出这个数组里面的最大值。 完整代码: function ceshi(){ var classify=["5","47","98","12","165"]; /
  • 1,使用Math对象获取最大值的方法max()和获取最小值min()方法。...使用Math对象获取数组中的最大值和最小值: 会使用到apply()方法,将Math对象作为apply()的第一个参数,从而正确的设置this。然后将数组作为...
  • JavaScript数组最大值

    2020-04-22 01:07:32
    QQ群招募中:646258285...JavaScript自带Math对象,其内包含了一系列数学函数,我们将使用其max()函数实现求取数组最大值。 Math.max()的一般用法是: var max = Math.max(3,54,32,16); 参数必须全部列出来,而不是...
  • 在实际业务中有的时候要取出数组中的最大值或最小值。但在数组中并没有提供arr.max()和arr.min()这样的方法。那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组最大值和最小值的一些...
  • 对于简单数组,我们直接使用indexOf最为简洁美观。 var a = [1,2,3,4,5,6,7,7,6,5,4,3,2,1]; // for循环 var indexOfMax = 0; var tempMax = a[0]; for(let i = 0; i < a.length; i ++){ if(a[i] > ...
  • //数组使用apply方法用Math对象求得其最大值 var arr = [1, 2, 88, 99, 77]; var max = Math.max.apply(Math, arr); var min = Math.min.apply(Math, arr); console.log(max, min);//99 1 ...
  • 用三种方法数组最大值。问题阐述与解决。 实现目标:输入一组数,并出这组数中最大的值。 采用的方法: 双 for循环,列出从小到大(从大到小)顺序。 单 for 循环,一遍循环最大值。 使用 Math.max。 ...
  • 返回一个数字数组最大值或最小值 输入:一个数字数组 输出:该数组最大值或最小值 代码 /* 传入一个数组 获取最大或最小值 */ const max_1 = arr=>Math.max(...arr); const min_1 = arr=>Math.min(......
  • 常用的js 方法: 包括 取url 参数,判断对象是否为空,数组最大值,最小值,日期格式化等等
  • 在实际业务中有的时候要取出数组中的最大值或最小值。但在数组中并没有提供arr.max()和arr.min()这样的方法。那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组最大值和最小值的一些...
  • //根据对象获取最大值 Array.prototype.max = function() {//直接定义方法,数组直接.max()即可使用 var max = parseInt(this[0]);//把第一位给max,注意,这里要转型,网上百度的基本没有转型。 var len...
  • 1.数组排序 sort() sort() 方法以字母顺序对数组进行排序 var fruits = ["Banana", "Orange", "Apple", "Mango"]; console.log(fruits.sort()); 2.反转数组 reverse() reverse() 方法反转数组中的元素 var ...
  • js数组中的最大值

    2019-11-08 18:21:22
    js数组中的最大值 js数组中的最大值,有四种方法 原文地址:https://www.cnblogs.com/lguow/p/9725258.html 一、借助apply(),获得最大值 var arr = [1, 2, 3, 4, 5, 6] var max = Math.max.apply(null,arr); ...
  • JavaScript重难点实例精讲》之求数组最大值和最小值(6种解法)
  • js找数组中的最大值

    千次阅读 2019-08-28 10:03:57
    采用Math对象里的max()方法,需要将比较的数一个一个的传递进来才能比较 Math.max(...arr) 2.es5 apply(与方法1原理相同) Math.max.apply(null,arr) 3.for循环 let max = arr[0]; for (let i = 0; i < arr...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 82,250
精华内容 32,900
关键字:

js对象数组找最大值