我想通过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
而不是BrowserWindow
或string
的值。
示例
BrowserWindow
在let windows: [string, BrowserWindow]
windows.push('home', new BrowserWindow())
windows.forEach(function(valueString: string, valueWindow: BrowserWindow, index, array) {
// Do stuff
})
内使用不同的值是否有forEach()
是解决此问题的最佳/唯一方法?
答案 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