TypeScript <string,browserwindow =“”> tupple仅允许使用参数值: forEach方法上的BrowserWindow

时间:2019-03-29 13:13:35

标签: typescript electron

我想通过string tupple方法访问BrowserWindow的{​​{1}}和<string, BrowserWindow>值,但只允许访问.forEach()值或string

示例

BrowserWindow

我希望能够访问let windows: [string, BrowserWindow] windows.push('home', new BrowserWindow()) windows.forEach(function(value: string | BrowserWindow, index, array) { // Do stuff }) string而不是BrowserWindowstring的值。

示例

BrowserWindow

let windows: [string, BrowserWindow] windows.push('home', new BrowserWindow()) windows.forEach(function(valueString: string, valueWindow: BrowserWindow, index, array) { // Do stuff }) 内使用不同的值是否有forEach()是解决此问题的最佳/唯一方法?

1 个答案:

答案 0 :(得分:0)

forEach从数组继承,并将迭代元组的所有元素。然后,其回调参数必须是数组中所有可能元素的并集。

从我对代码的阅读中,您实际上并不想要一个元组,您可能想要一个[string, BrowserWindow]类型的元组数组

class BrowserWindow{}
let windows: [string, BrowserWindow][] = []
windows.push(['home', new BrowserWindow()])
/// use an arrow function with array parameter destructuring 
windows.forEach(([valueString, valueWindow], index, array) => {

})

或者,如果您确实只想要一个元组并且想要访问该元组的组成部分,则可以使用数组解构:

let windows: [string, BrowserWindow] = ['home', new BrowserWindow()];

let [valueString, valueWindow] = windows