Typescript 如何检查数组是否包含特定项

Typescript 如何检查数组是否包含特定项,typescript,Typescript,下面的代码给出了上的以下错误 "[i]" in "if (i == ingredients[i])" 错误: 元素隐式具有“any”类型,因为索引表达式不是 类型为“编号” 代码: 在下面的if语句中有一个错误,它说: 类型为“西红柿”的参数不可分配给类型为的参数 '字符串[]' 类型为“onion”的参数不可分配给类型为的参数 '字符串[]' 解决这个问题的方法是什么 我建议您将代码修改为以下内容: let ingredients = ["ham", "onion", "tomato"];

下面的代码给出了上的以下错误

"[i]" in "if (i == ingredients[i])"
错误:

元素隐式具有“any”类型,因为索引表达式不是 类型为“编号”

代码:

在下面的if语句中有一个错误,它说:

类型为“西红柿”的参数不可分配给类型为的参数 '字符串[]'

类型为“onion”的参数不可分配给类型为的参数 '字符串[]'


解决这个问题的方法是什么

我建议您将代码修改为以下内容:

let ingredients = ["ham", "onion", "tomato"];
let snd = function (item) {
    for (let i = 0; i <= ingredients.length; i++) {

        if (item === ingredients[i]) {
            return true;
        }
    }
}

if (snd("tomato") && snd("onion")) {
    console.log("Sandwich has tomatos and onions")
} else {
    console.log("Sandwich has no tomatos and onions")
}
让配料=[“火腿”、“洋葱”、“西红柿”];
设snd=功能(项目){

对于(设i=0;i)函数参数的可能重复项应该是
成分:string
(对于单个成分)或
…成分:string[]
(对于多个成分),如果您想如您的问题所示调用它。使用
成分会更容易吗。一些(…)
进行过滤?是的,但OP希望修复他的代码。数组方法在下一章中,我认为很公平!一切都很好
let ingredients = ["ham", "onion", "tomato"];
let snd = function (item) {
    for (let i = 0; i <= ingredients.length; i++) {

        if (item === ingredients[i]) {
            return true;
        }
    }
}

if (snd("tomato") && snd("onion")) {
    console.log("Sandwich has tomatos and onions")
} else {
    console.log("Sandwich has no tomatos and onions")
}