gpt4 book ai didi

javascript - 相当于 JavaScript 的 TypeScript includes()

转载 作者:太空狗 更新时间:2023-10-29 17:46:43 30 4
gpt4 key购买 nike

在数组元素上使用 includes 获取 TypeScript 错误。当然,一旦编译成 js 它就可以正常工作,但我仍然会收到以下 TypeScript 错误:

Property 'includes' does not exist on type 'boolean[]'

代码:

validAttrs() {
let valid: boolean[] = this.required.map((value, index) => {
if(this.elm.nativeElement.getAttribute(value) === null) {
return false;
};
return true;
});
return valid.includes(false) ? false : true;
}

最佳答案

就修复编译错误而言,修复编译问题是添加 es2016lib我的选项 tsconfig.json .这添加了必要的声明 includes在数组上。

我尝试使用 TypeScript 2.1.4 suggested fix更换 boolean[]Array<boolean> .这没有任何区别。从逻辑上讲,它不应该有所作为,因为 boolean[]Array<boolean> 是同一件事


话虽如此,我同意 torazaburo OP 的代码应实现为:

validAttrs() {
return this.required.every(value => this.elm.nativeElement.getAttribute(value) !== null);
}

除了去除不必要的逻辑,这还有一个好处是every一旦回调返回一个虚假值,就停止检查数组。没有必要检查其余部分,因为返回值必然是 false一旦回调返回一个虚假值。另一方面,问题中的实现将始终对数组的所有元素执行测试。如果第一个元素没有通过测试,那么它将不必要地检查数组的其余部分!!

关于javascript - 相当于 JavaScript 的 TypeScript includes(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41260616/

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