首页 > 解决方案 > 打字稿问题循环遍历元组数组并获取特定值

问题描述

我必须编写一个接受元组数组的函数,每个元组由一个名称和一个年龄组成。该函数应仅返回名称。

所以我这样写:

type someTuple = [string, number]

function names(namesAndAges: someTuple[]) {
  let allNames: string[]
  allNames.push(namesAndAges.forEach( nameAndAge => nameAndAge[0]))
  
  return allNames
}

当我用这个调用它时:

names([['Amir', 34], ['Betty', 17]]);

我收到此错误:

type error: type error: Variable 'allNames' is used before being assigned.

谁能指出这段代码有什么问题?

标签: typescript

解决方案


您没有声明allNames为数组,因此将其更改为:

let allNames: string[] = []

如果要获取数组中的所有名称,则函数应如下所示:

type someTuple = [string, number]

function names(namesAndAges: someTuple[]) {
  let allNames: string[] = []
  namesAndAges.forEach( nameAndAge => 
    allNames.push(nameAndAge[0])
  )
  return allNames
}

names([['Amir', 34], ['Betty', 17]]);

操场


推荐阅读