javascript 比较两个纵横比

wxclj1h5  于 2023-02-15  发布在  Java
关注(0)|答案(2)|浏览(82)

我想在Javascript中比较两个纵横比。我有两个比例12:3和12:2,我需要比较两者。

if(12:3 > 12:2) {
   console.log(true);
}

做这件事的好方法是什么?

bhmjp9jg

bhmjp9jg1#

你可以简单地把它们分开,这样就给予了比率...

if((12/3) > (12/2)) {
    console.log(true);
} else {
    console.log(false); 
}
rryofs0p

rryofs0p2#

您可以简单地将它们彼此分开,如用户 caramba 所述:

const ratioA = 12/3; // 12:3
const ratioB = 12/2; // 12:2
const sameRatio = ratioA === ratioB // is ratioA the same as ratioB?

...但有时您可能希望比较接近但不完全存在的值。

const aspectRatios = [16/9, 4/3, 1/1] // 16:9, 4:3, 1:1

为此,您应该执行以下操作:

// The number here respresents accuracy. Low-accuracy is good. 
// The lower the accuracy, the higher chance we have of getting a close match.
const makeComparisonFloat = (float) => Math.round(float * 10) 
const ratio = makeComparisonFloat(width / height)
return aspectRatios.find((option) => makeComparisonFloat(option.ratio) === ratio)

相关问题