生成1到10之间范围内的数字ID

时间:2014-07-21 01:26:52

标签: javascript

我正在使用一个动态组合类别名称和项目ID的脚本。然后,它将从与文件名匹配的文件夹中调用图像。它由文件路径,类别名称和项目ID组成,例如Banking-1.jpg,Banking-2.jpg等

var f = {
            image: "/img/" + this.item.Categories[0].Category + "-" + this.itemId + ".jpg"
}

现在它只返回一个类似Banking-50.jpg的值,因为没有现有的图像。是否可以定义一个范围,以便它可以返回的最大值是Banking-10.jpg?

1 个答案:

答案 0 :(得分:1)

您可以使用Math.minMath.max函数限制整数。请参阅以下示例。

var f = {
            image: "/img/" + this.item.Categories[0].Category + "-" + Math.min(Math.max(this.itemId, 0), 10) + ".jpg"
}

除非this.itemId是字符串,否则这将有效,在这种情况下,您需要将其强制转换为parseInt的整数。

var f = {
            image: "/img/" + this.item.Categories[0].Category + "-" + Math.min(Math.max(parseInt(this.itemId,10), 0), 10) + ".jpg"
}

如果您愿意,可以定义这样的辅助函数。

function capToRange(i, min, max)
{
    return Math.min(Math.max(i, min), max);
}

并像这样使用它。

var f = {
            image: "/img/" + this.item.Categories[0].Category + "-" + capToRange(this.itemId, 0, 10) + ".jpg"
}