

Обычно, чтобы проверить, находится ли значение в массиве или нет, необходимо выполнить одну из следующих операций:
var arr = ['.js', '.css', '.html'];Нативного метода для подобных задач пока что нет. Он появится в спецификации ES2016 и будет называться includes. До того, как данный метод будет реализован, для данных целей можно использовать побитовый оператор
if (arr.indexOf('.jsx') === -1) {
// будет выполнено, когда значения нет
}
if (arr.indexOf('.css') >= 0) {
// будет выполнено, когда значение есть
}
~
:var arr = ['.js', '.css', '.html'];Оператор
if (!~arr.indexOf('.jsx')) {
// будет выполнено, когда значения нет
}
if (~arr.indexOf('.css')) {
// будет выполнено, когда значение есть
}
~
возвращает число, которое равно ~n == -(n + 1): ~1 == -(1 + 1) == -2, ~0 == -(0 + 1) == -1, -1 == -(-1 + 1) == 0, ~10 == -(10 + 1) == -11
.Подробнее о работе
~
и других побитовых операторов можно узнать в этой статье.#советы #coding #js