如何检查数组是否包含 TypeScript 中的字符串?
2022-08-29 23:12:30
目前我正在使用Angular 2.0。我有一个数组,如下所示:
var channelArray: Array<string> = ['one', 'two', 'three'];
如何在 TypeScript 中检查通道数组是否包含字符串“三”?
目前我正在使用Angular 2.0。我有一个数组,如下所示:
var channelArray: Array<string> = ['one', 'two', 'three'];
如何在 TypeScript 中检查通道数组是否包含字符串“三”?
与在 JavaScript 中相同,使用 Array.prototype.indexOf():
console.log(channelArray.indexOf('three') > -1);
或者使用 ECMAScript 2016 Array.prototype.include():
console.log(channelArray.includes('three'));
请注意,您还可以使用@Nitzan所示的方法查找字符串。但是,您通常不会对字符串数组执行此操作,而是对对象数组执行此操作。在那里,这些方法更明智。例如
const arr = [{foo: 'bar'}, {foo: 'bar'}, {foo: 'baz'}];
console.log(arr.find(e => e.foo === 'bar')); // {foo: 'bar'} (first match)
console.log(arr.some(e => e.foo === 'bar')); // true
console.log(arr.filter(e => e.foo === 'bar')); // [{foo: 'bar'}, {foo: 'bar'}]
参考
您可以使用以下方法:
console.log(channelArray.some(x => x === "three")); // true
您可以使用 find 方法:
console.log(channelArray.find(x => x === "three")); // three
或者,您可以使用 indexOf 方法:
console.log(channelArray.indexOf("three")); // 2