String indexOf() :返回某個指定的字符串值在字符串中首次出現(xiàn)的位置(對大小寫敏感),如果檢索的字符串值沒有出現(xiàn)践美,則返回 -1。
Array?indexOf() :返回數(shù)組中某個指定的元素位置找岖。如果沒找到指定元素則返回 -1陨倡。
indexOf 結(jié)合位反操作
原文:https://blog.csdn.net/weixin_34143774/article/details/85558633
補(bǔ)碼:在計(jì)算機(jī)系統(tǒng)中,數(shù)值用補(bǔ)碼來表示许布。任何數(shù)值 n 的位反 ~n ===?-(n + 1)
例:
~8 === -9? |? ~-9 === 8
~1 === -2? |??~-2 === 1
~0 === -1? |? ~-1 === 0
只有 ~-1 才等于 0兴革,對非 -1 值取反永遠(yuǎn)不為 0。所以n !== -1可簡化為~n蜜唾,n === -1可簡化為!~n
舉例:if (status === 301 || status === 302) {}
利用 Array 和 indexOf杂曲,上面的代碼可簡化成:if ([301, 302].indexOf(status) !== -1) {}
利用位反操作,可進(jìn)一步簡化:if (~[301, 302].indexOf(status)) {}