Javascript下拉选项0-100递增0.5

时间:2019-01-10 15:45:29

标签: javascript

我有一个javascript函数,可为页面上的下拉菜单创建值。我目前正以5(0-100)递增。

我正尝试将其更改为以.5递增,但是它一直只是返回0-100而没有递增。

我的预期输出是0,.5,1,1.5,2,2.5 ... 100

到目前为止,这是我的职能:

/**
 * Generate our possible error scores
 */
function generateErrorScores() {

    var min = 0,
        max = 100,
        multiplier = 5, // Tried .5 here
        list = [];

    // Loop between min and max, increment by multiplier
    for (var i = min; i <= max; i++) {
        if (i % multiplier === 0) {
            list.push(i);
        }
    }

    return list;
}

console.log(generateErrorScores())

提琴:http://jsfiddle.net/3y451jga/

我感觉到它的if (i % multiplier === 0) {引起了问题,但是我不确定如何使它适应.5的增量。

5 个答案:

答案 0 :(得分:2)

如果只需要列表private static final File DATA_FILE = new File("/dbfs/mnt/data/test-data.json"); ,则可以:

[0, 0.5, 1, 1.5, ..., 100]

答案 1 :(得分:1)

我认为这样做会更容易

for (var i = min; i <= max; i+=0.5) {
    list.push(i);
}

答案 2 :(得分:1)

if (i % multiplier === 0)无用。如果您需要列表中的乘数,那会起作用,但是在这种情况下,您需要分数。

有趣的是,您的注释是正确的(“乘以增量”),但是代码没有做到这一点。一个有效的解决方案是这样的:

function generateErrorScores() {

    var min = 0,
        max = 100,
        segment = .5,
        list = [];

    // Loop between min and max, increment by segment
    for (var i = min; i <= max; i += segment) {
        list.push(i);
    }

    return list;
}

console.log(generateErrorScores())

答案 3 :(得分:0)

您只需将i加上0.5即可获得预期的输出,这里无需进行额外检查。

 for (var i = min; i <= max; i+=0.5) {

/**
 * Generate our possible error scores
 */
function generateErrorScores() {
  var min = 0,
    max = 100,
    multiplier = 0.5,
    list = [];
  // Loop between min and max, increment by multiplier
  for (var i = min; i <= max; i += 0.5) {
    list.push(i);
  }
  return list;
}
console.log(generateErrorScores())

答案 4 :(得分:0)

function generateErrorScores() {

	var min = 0,
		max = 100,
		increment = 0.5,
		list = [];

	// Loop between min and max, increment by multiplier
	for (var i = min; i <= max; i = i + increment) {
		list.push(i);
	}

	return list;

}

console.log(generateErrorScores());