题目:三个变量排序输出
思路:
首先输入三个参数,X,Y,Z,要将三个参数进行大小比较在排序输出,
,x,y,z输出时的位置是不变的,所以将三个数比较后的最大值赋值给x,第二大的值赋值给Y,
最小的值就默认为z了,完成从大到小的排序输出
function stro(x,y,z){
x<y && (x^=y,y^=x,x^=y) //排出最大值,并赋值给x
//两种情况 x<y x>y
//用逻辑与来执行判断X,Y的大小, x>y时 ,默认x排第一位,逻辑与结果为false,不执行
//当X<Y时,逻辑与继续进行下一步运行:(x^=y,y^=x,x^=y)用按位异或将最大值转换给第一个值(x)
//此时的排序为:x(转换后的最大值),y(转换后的第二 的值),此时个关系为x>y
y<z && (y^=z,z^=y,y^=z) //排出y,z最大的值,并赋值给y,
//当 y<z ,逻辑与继续进行下一步运行:(y^=z,z^=y,y^=z)用按位异或将最大值转换给第二个值(y)
//此时个关系为y>z,转换后,z此时为最小值
//y被z赋值后,此时不知道被z赋值后的y与x的大小关系,需要判定后并将最大值转换给x,此时的y为第二大,z为最小
x<y && (x^=y,y^=x,x^=y)
console.log(x,y,z) //打印输出测试结果
}