【发布时间】:2014-10-09 20:56:27
【问题描述】:
注意:Jquery 或 JS 分辨率。我有一个名为“十进制”的数组,它接收 11 个十进制值,其中整数被删除(例如:0.25)
如果我对 Decimal 数组中的单个值运行这 7 个 if 语句,如下所示,我会在“Fraction”数组中得到 1 个值,这是我想要确认 if() 语句中的逻辑是正确的。
if (Decimal[1] <= 0.125) {Fraction.push('1/8');}
if (Decimal[1] <= 0.25) {Fraction.push('1/4');}
if (Decimal[1] <= 0.375) {Fraction.push('3/8');}
if (Decimal[1] <= 0.50) {Fraction.push('1/2');}
if (Decimal[1] <= 0.625) {Fraction.push('5/8');}
if (Decimal[1] <= 0.75) {Fraction.push('3/4');}
if (Decimal[1] <= 1) {Fraction.push('7/8');}
只要我将这 7 个 if 语句放入 for 循环中,我就会在分数数组中得到 44 个值(我期待 11 个)。请参阅下面的代码:
for (var t = 0; t < Decimal.length; t++) {
if (Decimal[t] <= 0.125) {Fraction.push('1/8');}
if (Decimal[t] <= 0.25) {Fraction.push('1/4');}
if (Decimal[t] <= 0.375) {Fraction.push('3/8');}
if (Decimal[t] <= 0.50) {Fraction.push('1/2');}
if (Decimal[t] <= 0.625) {Fraction.push('5/8');}
if (Decimal[t] <= 0.75) {Fraction.push('3/4');}
if (Decimal[t] <= 1) {Fraction.push('7/8');}
}
【问题讨论】:
-
如果一个数小于或等于
0.125,那么它也小于或等于1,对吧? -
使用
if .... else if .. -
如果你有 .003 它比所有这些数字都少,所以它们会被推送?
-
如果数字是小数,例如 0.1,则不会...我不确定我是否理解您的意思。
-
@dm8021122:
0.1小于0.125,所以你推1/8,但是0.1也小于0.25,所以你也推1/4等等.小于0.125的任何值都将推送所有7值。我想那不是你想要的。正如其他人所说,使用else if。
标签: javascript jquery arrays for-loop