前言:
如今我们对“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案例获取三个数字中的最大值