gpt4 book ai didi

javascript - 使用 Typescript 从元组中选择

转载 作者:行者123 更新时间:2023-11-30 10:57:03 27 4
gpt4 key购买 nike

我正在学习一门类(class),目前的挑战是“编写一个接受姓名和年龄数组的函数,然后只返回姓名。”

到目前为止,我的方法是这样的:

function names(arr: [string, number]) {
let result: [] = [];
arr.forEach((element) => {
if (typeof(element) === "string") {
result.push(element);
}
})
return result;
}

我正在尝试让测试通过该断言,即我实际上只获得了从我的函数返回的字符串。我不知所措,我尝试解决方案时遇到的当前错误是

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

Expected: ['Amir', 'Betty'] but got: type error: Argument of type 'string' is not assignable to parameter of type 'never'.

非常感谢任何帮助!

最佳答案

你只需要定义

let result: [] = [];

作为

let result: string[] = [];

看起来您的参数也是一个数组数组。所以你需要定义

arr: [string, number]

作为

arr: [string, number][]

或等效语法是

arr: Array<[string, number]>

然后也改变你的 for 循环。诸如此类。

function names(arr: [string, number][]) {
let result: string[] = [];
arr.forEach(([element]) => {
result.push(element);
})
return result;
}

请注意,我使用解构赋值来获取第一个元素。

关于javascript - 使用 Typescript 从元组中选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59582454/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com