Pracuję z Titanium, mój kod wygląda następująco:
var currentData = new Array();
if(currentData[index]!==""||currentData[index]!==null||currentData[index]!=='null')
{
Ti.API.info("is exists " + currentData[index]);
return true;
}
else
{
return false;
}
Przekazuję indeks do tablicy currentData
. Nadal nie jestem w stanie wykryć nieistniejącego elementu przy użyciu powyższego kodu.
javascript
titanium
titanium-mobile
Pradeep
źródło
źródło
&&
) między poszczególnymi warunkami.Odpowiedzi:
Posługiwać się
typeof arrayName[index] === 'undefined'
to znaczy
źródło
if(arrayName[index] === 'undefined')
skrótuif(arrayName[index] === undefined)
.źródło
if(myArray.indexOf(searchTerm) === -1)
Niech ktoś mnie poprawi, jeśli się mylę, ale AFAIK jest prawdą:
hasOwnProperty
„odziedziczoną”Object
hasOwnProperty
mogę sprawdzić, czy coś istnieje w indeksie tablicowym.Tak długo, jak powyższe jest prawdziwe, możesz po prostu:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
stosowanie:
arrayHasIndex([1,2,3,4],4);
wyjścia:false
arrayHasIndex([1,2,3,4],2);
wyjścia:true
źródło
Musiałem zawrzeć odpowiedź techfoobar w bloku
try
..catch
tak:... tak to w każdym razie działało w chrome (w przeciwnym razie kod zatrzymał się z błędem).
źródło
arrayName
sama zmienna (lubindex
) nie istniała. Sam dostęp do niezdefiniowanego elementu tablicy nie powinien spowodować „błędu”?Jeśli elementy tablicy są również proste obiekty lub tablice, można użyć jakąś funkcję:
źródło
some
jest najbardziej nowoczesnym sposobem tutaj. Może nawet stać się jednym linerem, jakmyArray.some(el => el.item === element.item && el.title === element.title)
Rozważ tablicę:
Jeśli chcesz sprawdzić, czy „nazwa1” istnieje w, po prostu przetestuj ją za pomocą
in
:źródło
źródło
Jeśli użyjesz underscore.js, ten typ kontroli zerowej i niezdefiniowanej zostanie ukryty przez bibliotekę.
Twój kod będzie wyglądał następująco -
Teraz wygląda na bardziej czytelny.
źródło
Prosty sposób na sprawdzenie elementu istnieje lub nie
źródło
myArray[1000000] = 'Pear'
to twoja funkcja będzie trwała wiecznie.Moim zdaniem ten sposób jest najłatwiejszy.
I może innym sposobem na to jest.
źródło
źródło
Jeśli szukasz czegoś takiego.
Oto następujący snippetr
źródło
Array.includes
sprawdzenia, czy wartość jest tablicądemoArray.indexOf(ArrayIndexValue) !== -1
. to pytanie dotyczy sprawdzenia, czy indeks istnieje w tablicy, co jest zupełnie innym problememmożesz po prostu użyć tego:
źródło
tmp = [0,0,0,0]
wtedy powinno istnieć tmp [3]Sprawdź, czy drugi element w tablicy jest niezdefiniowany, używając
typeof
i sprawdzającundefined
źródło
Próbując dowiedzieć się, czy indeks tablicy istnieje w JS, najłatwiejszym i najkrótszym sposobem jest podwójne zaprzeczanie.
źródło
Właśnie po to jest
in
operator. Użyj tego w ten sposób:Odpowiedź akceptowana jest źle, to dać fałszywie ujemne jeżeli wartość
index
jestundefined
:źródło
Jeśli wyrażenie logiczne
jest prawdą, wówczas 0 jest zawarte w arr
źródło
Działa to również dobrze, testując według typu
undefined
.Test:
źródło