2017-02-10 35 views
3

我需要迭代一個對象的所有值,我將用它來過濾另一個數組。在打字稿上有一個`Object.values()`?

在Google上搜索我發現Object.values(),但它在打字稿上不起作用。

有什麼等同的東西可以用在打字稿上?

+1

'Object.values'也許即將 –

+1

發佈您的代碼,並會嘗試其他方法來解決它。 –

+2

TypeScript只是編譯爲JavaScript。所以如果JavaScript中有一個函數,它將在TypeScript中起作用;您可能需要做一些工作才能使TypeScript識別它,但您可以使用它。真正的問題是,它會在你需要支持的瀏覽器中工作:http://kangax.github.io/compat-table/es2016plus/#test-Object_static_methods_Object.values –

回答

7

打字稿ES5和ES6沒有這種方法,因爲這一點,我們需要這個解決方法使用JS方法:

(<any>Object).values(yourObject) 
1

設置你的目標ES2017(通過寫--target ES2017或在您的tsconfig文件中設置"target": "es2017"),讓打字稿知道你上的ES2017運行時中運行,從而有機會獲得ES2017 API,如Object.values

+1

爲什麼目標應該設置爲'es2017'?這是客戶端應用程序。這很可能有'es5'目標。 – estus

+0

那麼如果你想使用'Object.values',你需要在ES2017運行時。 –

+0

我得到了這個'訪問者只有在定位ECMAScript 5和更高版本時纔可用' – rneves