當我運行下面的函式時,我得到這個錯誤:“元素隱式具有'any'型別,因為型別'0'的運算式不能用于索引型別'string | number'。屬性'0'不存在于type 'string | number" 我看過索引簽名示例{ [key: string]: number }來解決類似的問題,但我認為它不適用于這種情況。解決此問題的正確方法是什么?
function getNames(namesAndAges: [ string, number ]): string[]{
return namesAndAges.map(val => (val[0]));
}
console.log(getNames([['Amir', 34], ['Betty', 17]]));
// expected result ['Amir', 'Betty']
uj5u.com熱心網友回復:
您的引數型別錯誤。
function getNames(namesAndAges: [ string, number ])
意味著您需要使用包含字串和數字的陣列來呼叫它。
getNames(['a', 5])
你想要一個陣列陣列。輸入為
function getNames(namesAndAges: Array<[ string, number ]>)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/445942.html
標籤:打字稿
