我正在使用一个动态组合类别名称和项目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?
答案 0 :(得分:1)
您可以使用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"
}