我想出了几种写上面函数的方法。但是,我感觉自己都以错误的顺序进行操作,而且每一行都有太多条件...
是否可以通过更简单的方式(例如,仅在数字为整数的情况下运行该函数),然后比较数字,而不是由我检查每行中的整数是否为整数?
我知道有很多方法可以编写此代码,希望能在if-else方法中保持相同,但可以使用更短,更简单的版本,并且流程可能更好。
<Picker
mode="dialog"
selectedValue={this.state.customerName}
onValueChange={(itemValue, itemIndex) => {
this.setState({ customerName: itemValue });
}
}
>
{
this.state.responseData.map((item) => (
<Picker.Item label={item.customer} value={item.customer} key={item.customer} />))
}
</Picker>
答案 0 :(得分:2)
确定要检查>0
吗?您可以将该函数与参数-1,-1
一起使用。
无论如何,您可以执行以下操作:
function integer(a,b) {
if(typeof a !== 'number' || typeof b!== 'number' ) {
document.write("Please add 2 valid numbers");
} else {
if(a==b) {
document.write("Two equals number");
} else {
document.write("The larger number is " + (a > b ? a : b ));
}
}
}
integer(-1,-1);
或相同的函数,但仅使用三元运算符。更紧凑,但有点难以理解。 如果您正在做家庭作业,这就是您的老师想要的东西:)(但我不鼓励在现实世界中使用它)
function integer(a,b) {
(typeof a !== 'number' || typeof b!== 'number' ) ?
document.write("Please add 2 valid numbers") :
a == b ? document.write("Two equals number") :
document.write("The larger number is " + (a > b ? a : b ));
}
答案 1 :(得分:2)
function integer(a,b) {
if(a>=0 && b>=0)
{
if(a!=b)
{
document.write("The larger number is " + Math.max(a,b));
}
else
{
document.write("Both numbers are equal!")
}
} else {
document.write("Please add an integer!");
}
}
integer(-1,-1);
答案 2 :(得分:1)
所有整数都是整数(即正数(1),负数(-1)和零)。分数和小数不是整数。
function integer(a,b) {
var isInteger = Number.isInteger(a) && Number.isInteger(b);
if(isInteger && a === b)
document.write("Both numbers are equal!");
else if(isInteger)
document.write("The larger number is " + Math.max(a,b));
else
document.write("Please add an integer!");
}
integer(-1,-1);
注意:如果您不希望负数和零为整数,请使用(a> 0 && b> 0)而不是(Number.isInteger(a)&& Number.isInteger(b))