我正在使用一个脚本,该脚本动态地将类别名称与项目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?
最佳答案
您可以使用Math.min
和Math.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"
}