龙空技术网

前端系列——获取数组中的最大值(最小值)

多才森森影视 247

前言:

如今我们对“js案例获取三个数字中的最大值”可能比较着重,同学们都想要剖析一些“js案例获取三个数字中的最大值”的相关文章。那么小编同时在网上汇集了一些有关“js案例获取三个数字中的最大值””的相关内容,希望小伙伴们能喜欢,你们快快来了解一下吧!

1、给数组先排序(由大到小排序),第一项就是最大值

let ary = [12, 13, 14, 23, 24, 13, 15, 12];

let max = ary.sort(function (a, b) {

return b - a;

})[0];

console.log(max);

2、假设法:假设第一个值是最大值,依次遍历数组中后面的每一项,和假设的值进行比较,如果比假设的值要大,把当前项赋值给MAX...

let max = ary[0];

for (let i = 1; i < ary.length; i++) {

let item = ary[i];

item > max ? max = item : null;

}

console.log(max);

3、Math.max

在此之前,首先说几个零碎的知识点:

let ary = [12, 13, 14, 23, 24, 13, 15, 12];

console.log(Math.max(ary));//=>NaN =>Math.max是获取一堆数中的最大值,需要我们把比较的数,一个个的传递给这个方法 =>Math.max(12,13,14...) =>Math.max([12,13,14...])这样只是传递一个值。

(1)eval:把字符串转换为JS表达式

eval("1+2") =>3

(2)括号表达式(小括号的应用)

用小括号包起来,里面有很多项(每一项用逗号分隔),最后只获取最后一项的内容(但是会把其它的项也都过一遍)

(function(){

console.log(1);

},function(){

console.log(2);

})();

=>2

不建议大家过多使用括号表达式,因为会改变THIS。

使用Math.max排序之前要利用APPLY的一个特征:虽然放的是一个数组,但是执行方法的时候,也是把数组中的每一项一个个的传递给函数。

let ary = [12, 13, 14, 23, 24, 13, 15, 12];

let max = Math.max.apply(null, ary);

console.log(max);

这样就可以实现Math.max排序了。

还可以基于ES6中的展开运算符完成:

let max = Math.max(...ary);

console.log(max);

4、解构赋值

解构赋值:按照一个数据值的结构,快速解析获取到其中的内容

真实项目中一般都是针对于数组或者对象进行结构赋值。

(1)对象解构赋值

// let obj = {name: 'xxx', age: 25, sex: 0};

// let {name, age} = obj;//=>对象解构赋值默认情况下要求:左侧变量名和对象中的属性名一致才可以

// console.log(name, age);

// let {sex} = obj;

// console.log(sex);//=>0

// let {age: ageAA} = obj;

// // console.log(age);//=>Uncaught ReferenceError: age is not defined

// console.log(ageAA);//=>25 给解构的属性名起别名作为我们使用的变量

// let {friend = 0} = obj;

// console.log(friend);//=>0 给不存在的属性设置默认值

let fn = function ({

name = '一寒',

age = 0

} = {}) {//=>把传递的对象解构了(不传递值,默认赋值为空对象:现在传递对象或者不传递,形参接收到的都是对象),解构的时候,可以把传递进来对象中,如果某个属性不存在,我们赋值默认值

console.log(name, age);

};

fn({

name: 'xxx',

age: 25

});

(2)数组解构赋值

let ary = [12];

let [a, b = 0] = ary;//=>在解构的时候可以给变量设置默认值:如果当前变量对应结构中的这一项没有值,变量用默认值

console.log(a, b);//=>12 0

// let ary = [12, 23, 34, 45, 56];

//=>需求:获取第一项,把剩下的项作为一个数组返回

// let [a, ...b] = ary;

// console.log(a, b);//=>12 [23,34,45,56] “...”在此处称之为剩余运算符:除了前面以外的项,都放在一个数组中

// let [a, ...b, c] = ary;//=>Uncaught SyntaxError: Rest element must be last element 剩余运算符处于解构中最后的位置

// let ary = [12, 23, 34, 45, 56];

// let [a] = ary;

// console.log(a);//=>12

// let [a, , c] = ary;

// console.log(a, c);//=>12 34

标签: #js案例获取三个数字中的最大值