Można sprawdzić zarówno tablice, jak i obiekty, aby sprawdzić, czy istnieje klucz tablicy lub właściwość obiektu, czy nie. Jest to bardzo przydatne i jest używane w taki sam sposób do sprawdzania obu typów.
/**
* Check if an array key or object property exists
* @key - what value to check for
* @search - an array or object to check in
*/
function key_exists(key, search) {
if (!search || (search.constructor !== Array && search.constructor !== Object)) {
return false;
}
for (var i = 0; i < search.length; i++) {
if (search[i] === key) {
return true;
}
}
return key in search;
}
Zastosowanie:
jako tablica
key_exists('jared', ['jared', 'williams']); //= true
jako obiekt
key_exists('jared', {'jared': 'williams'}); //= true