Is there a faster way of writing OR operator?

前端 未结 6 1669
自闭症患者
自闭症患者 2021-01-13 08:31

Is there a faster way of writing this?

if ($(\'#id\').val()==7 || $(\'#id\').val()==8 || $(\'#id\').val()==9){
    console.log(\'value of #id is 7, 8, or 9!\         


        
6条回答
  •  悲哀的现实
    2021-01-13 09:15

    You can use indexOf(), it returns the first index at which a given element can be found in the array, or -1 if it is not present.

    if ([7,8,9].indexOf(+$('#id').val()) > -1){
        console.log('value of #id is 7, 8, or 9!')
    };
    

    The above function will work in IE9+, for older browser's you can use either PolyFill or jQuery.inArray(value, array)

    if (jQuery.inArray(+$('#id').val(),[7,8,9]) > -1){
        console.log('value of #id is 7, 8, or 9!')
    };
    

提交回复
热议问题