Wie Verwenden von Object.values mit Typoskript?
Ich versuche forma-Komma-getrennter string von einem Objekt,
const data = {"Ticket-1.pdf":"8e6e8255-a6e9-4626-9606-4cd255055f71.pdf","Ticket-2.pdf":"106c3613-d976-4331-ab0c-d581576e7ca1.pdf"};
const values = Object.values(data).map(x => x.substr(0, x.length - 4));
const commaJoinedValues = values.join(',');
console.log(commaJoinedValues);
Wie dies mit typescript?
immer eine Fehler Datei:
severity: 'Error'
message: 'Property 'values' does not exist on type 'ObjectConstructor'.'
at: '216,27'
source: 'ts'
InformationsquelleAutor der Frage user2280016 | 2017-03-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
mit dem Objekt.Schlüssel statt.
InformationsquelleAutor der Antwort holi-java
Object.values()
ist Teil ES2017und die compile-Fehler, den Sie bekommen, weil Sie benötigen zum konfigurieren des TS zu verwenden, der ES2017 Bibliothek. Sie sind wahrscheinlich über ES6 oder ES5-Bibliothek in Ihrer aktuellen TS-Konfiguration.Lösung: verwenden Sie
es2017
oderes2017.object
in Ihrem--lib
compiler option.Beispielsweise mit
tsconfig.json
:Beachten Sie, dass targeting ES2017 mit Typoskript hat nicht emittieren polyfills, die im browser für ES2017es ist bis zu Ihnen zu tun, dass in Ihrem Projekt, selbst, wenn Sie wollen. Und da
- Objekt.Werte
ist noch nicht gut von allen Browsern unterstützt Sie möchte auf jeden Fall ein polyfill:core-js
wird die Arbeit machen.InformationsquelleAutor der Antwort Aaron
Können Sie
Object.values
im Typoskript dadurch(<any>Object).values(data)
wenn aus irgendeinem Grund können Sie nicht aktualisieren, um ES7 in tsconfig.InformationsquelleAutor der Antwort mtpultz
Ich einfach auf genau dieses Problem mit eckiger 6 Verwendung der CLI und Arbeitsbereiche zu erstellen, einer Bibliothek, die mit
ng g library foo
.In meinem Fall das Problem war in der
tsconfig.lib.json
im library-Ordner, die nichtes2017
enthalten in derlib
Abschnitt.Jemand stolpert über das Problem mit Winkel-6, die Sie gerade brauchen, um sicherzustellen, dass Sie aktualisieren Sie
tsconfig.lib.json
sowie Ihre Anwendungtsconfig.json
InformationsquelleAutor der Antwort Neil Stevens