在咖啡脚本中,我试图弄清楚数组中是否包含某些内容。但似乎无法弄清楚正确的语法。如果没有迭代它们,有没有办法做到这一点?
谢谢,
if $(this).val() is in ["needs_cover","comatose"]
$("#head_count").hide()
else
$("#head_count").show()
答案 0 :(得分:6)
只需删除is
:
if $(this).val() in ["needs_cover","comatose"]
$("#head_count").hide()
else
$("#head_count").show()
这将转换为以下JavaScript:
var _ref;
if ((_ref = $(this).val()) === "needs_cover" || _ref === "comatose") {
$("#head_count").hide();
} else {
$("#head_count").show();
}
答案 1 :(得分:0)
如果这是一个常见的用例,你可以编写一个函数,这也可以让你编写一个更紧凑的例程,如下所示:
hideShowFn = (valSelector, hideShowElSelector, compareArr) ->
if $(valSelector).val() in compareArr then return $(hideShowElSelector).hide()
$(hideShowElSelector).show()
我更喜欢上面这样做,因为它会使代码变得扁平化。这是我的偏好。
您可以像这样调用函数:
hideShowFn this, '#head_count', ['needs_cover', 'comatose']