hasOwnProperty die beliebte Lösung zu sein scheint, aber es ist erwähnenswert, dass es nur in Strings behandelt und kann teuer sein zu nennen.
Wenn Sie Objekte als Schlüssel in Ihrem Wörterbuch verwenden, funktioniert hasOwnProperty nicht.
Die zuverlässigere und performantere Lösung besteht darin, strikte Gleichheit zu verwenden, um nach undefiniert zu suchen.
function exists(key:*):Boolean {
return dictionary[key] !== undefined;
}
Denken Sie daran, strenge Gleichheit sonst Einträge mit einem Null-Wert zu verwenden, aber gültiger Schlüssel wird
null == undefined // true
null === undefined // false
leer dh aussehen Und tatsächlich, wie in
erwähnt verwenden, sollten auch
function exists(key:*):Boolean {
return key in dictionary;
}
funktionieren
Danke Cotton, ich wusste nicht einmal, dass der Operator außerhalb einer for-each-Schleife existiert. –
Das macht mich glücklich, es ist sehr Pythonic. – Soviut
Ist die Performance auch die beste Lösung? – Rihards