Ich arbeite mit Titan, mein Code sieht folgendermaßen aus:
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;
}
Ich übergebe einen Index an das Array currentData
. Ich kann ein nicht vorhandenes Element mit dem obigen Code immer noch nicht erkennen.
javascript
titanium
titanium-mobile
Pradeep
quelle
quelle
&&
) zwischen den einzelnen Bedingungen.Antworten:
Verwenden
typeof arrayName[index] === 'undefined'
dh
quelle
if(arrayName[index] === 'undefined')
als Verknüpfung verwendenif(arrayName[index] === undefined)
.quelle
if(myArray.indexOf(searchTerm) === -1)
Jemand korrigiert mich bitte, wenn ich falsch liege , aber AFAIK das Folgende ist wahr:
hasOwnProperty
"geerbt" vonObject
hasOwnProperty
Kann in meinen Tests überprüfen, ob an einem Array-Index etwas vorhanden ist.Solange das oben Gesagte zutrifft, können Sie einfach:
const arrayHasIndex = (array, index) => Array.isArray(array) && array.hasOwnProperty(index);
Verwendung:
arrayHasIndex([1,2,3,4],4);
Ausgänge:false
arrayHasIndex([1,2,3,4],2);
Ausgänge:true
quelle
Ich musste die Antwort von techfoobar in einen
try
..catch
Block einwickeln , wie folgt :... so funktionierte es jedenfalls in Chrome (ansonsten wurde der Code mit einem Fehler gestoppt).
quelle
arrayName
selbst (oderindex
) nicht vorhanden war. Der einfache Zugriff auf ein undefiniertes Array-Element sollte nicht zu einem "Fehler" führen.Wenn Elemente eines Arrays auch einfache Objekte oder Arrays sind, können Sie eine Funktion verwenden:
quelle
some
ist der modernste Weg hier herum. Es kann auch einmyArray.some(el => el.item === element.item && el.title === element.title)
Betrachten Sie das Array a:
Wenn Sie überprüfen möchten, ob 'name1' in a vorhanden ist, testen Sie es einfach mit
in
:quelle
quelle
Wenn Sie underscore.js verwenden, werden diese Arten von Null- und undefinierten Prüfungen von der Bibliothek ausgeblendet.
Ihr Code sieht also so aus -
Es sieht jetzt viel besser lesbar aus.
quelle
Einfache Möglichkeit zu überprüfen, ob ein Artikel vorhanden ist oder nicht
quelle
myArray[1000000] = 'Pear'
dann wird Ihre Funktion für immer dauern.Dieser Weg ist meiner Meinung nach am einfachsten.
Und vielleicht ist ein anderer Weg, es zu tun.
quelle
quelle
Wenn Sie nach so etwas suchen.
Hier ist der folgende Ausschnitt
quelle
Array.includes
zu prüfen, ob ein Wert ein Array ist, wie zdemoArray.indexOf(ArrayIndexValue) !== -1
. Bei dieser Frage geht es darum zu überprüfen, ob der Index im Array vorhanden ist, was ein völlig anderes Problem darstelltSie können dies einfach verwenden:
quelle
tmp = [0,0,0,0]
dann tmp [3] existieren sollteÜberprüfen Sie, ob das zweite Element im Array nicht definiert ist mit der
typeof
und Überprüfung fürundefined
quelle
Wenn Sie herausfinden möchten, ob in JS ein Array-Index vorhanden ist, können Sie dies am einfachsten und kürzesten durch doppelte Negation tun.
quelle
Genau dafür ist der
in
Bediener da. Verwenden Sie es so:Die akzeptierte Antwort ist falsch. Wenn der Wert bei
index
lautet , wird ein falsches Negativ ausgegebenundefined
:quelle
Wenn boolescher Ausdruck
ist wahr, dann ist 0 in arr enthalten
quelle
Dies funktioniert auch gut, wenn Sie nach Typ testen
undefined
.Prüfung:
quelle