我如何在某些可能发生的极端情况下实现目标。
//边缘情况
如果mediaType
是undefined
,则应返回undefined
或infinity
;如果mediaType
是xs
,则应返回带有当前实现的xs
。
//编码当前实现
function getCurrentBreakpoint(mediaType) {
const mediaTypes = ["xs", "sm", "md", "lg", "xl", "infinity"];
return mediaTypes[mediaTypes.indexOf(mediaType) - 1];
}
这里有任何帮助。
最佳答案
您可以使用Array#find
:
function getCurrentBreakpoint(mediaType) {
const mediaTypes = ["xs", "sm", "md", "lg", "xl", "infinity"];
return mediaTypes.find(mt => mt === mediaType);
}
console.log(getCurrentBreakpoint('xs'));
console.log(getCurrentBreakpoint('foo'));
console.log(getCurrentBreakpoint());
如果您真的想使用三元运算符,则可以使用它。
return mediaTypes.includes(mediaType) ? mediaType : undefined