현재 Angular 2.0을 사용하고 있습니다. 다음과 같은 배열이 있습니다.
var channelArray: Array<string> = ['one', 'two', 'three'];
channelArray에 'three'문자열이 포함되어 있는지 TypeScript에서 어떻게 확인할 수 있습니까?
현재 Angular 2.0을 사용하고 있습니다. 다음과 같은 배열이 있습니다.
var channelArray: Array<string> = ['one', 'two', 'three'];
channelArray에 'three'문자열이 포함되어 있는지 TypeScript에서 어떻게 확인할 수 있습니까?
답변:
Array.prototype.indexOf ()를 사용하는 JavaScript와 동일합니다 .
console.log(channelArray.indexOf('three') > -1);
또는 ECMAScript 2016 Array.prototype.includes () 사용 :
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'}]
참고
[ts] Property 'includes' does not exist on type 'string[]'
오류를, 나는이 ECMA (6) 기능을 지원하는 내 tsconfig를 업데이트해야합니까?
"lib": ["es7", "dom"]
몇 가지 방법을 사용할 수 있습니다 .
console.log(channelArray.some(x => x === "three")); // true
find 메소드를 사용할 수 있습니다 .
console.log(channelArray.find(x => x === "three")); // three
또는 indexOf 메소드를 사용할 수 있습니다 .
console.log(channelArray.indexOf("three")); // 2
TS에는 어레이 프로토 타입을 통해 사용할 수있는 어레이에 대한 많은 유틸리티 방법이 있습니다. 이 목표를 달성 할 수있는 여러 가지가 있지만이 목적에 가장 편리한 두 가지는 다음과 같습니다.
Array.indexOf()
임의의 값을 인수로 사용하여 주어진 요소가 배열에서 발견 될 수있는 첫 번째 색인을 리턴하거나없는 경우 -1을 리턴합니다.Array.includes()
임의의 값을 인수로 취한 후 배열에이 값이 포함되는지 여부를 결정합니다. true
값이 발견 되면를 반환 하고 그렇지 않으면를 반환 false
합니다.예:
var channelArray: string[] = ['one', 'two', 'three'];
console.log(channelArray.indexOf('three')); // 2
console.log(channelArray.indexOf('three') > -1); // true
console.log(channelArray.indexOf('four') > -1); // false
console.log(channelArray.includes('three')); // ture
당신은 사용할 수 filter
도
this.products = array_products.filter((x) => x.Name.includes("ABC"))
이처럼
departments: string[]=[];
if(this.departments.indexOf(this.departmentName.trim()) >-1 ){
return;
}
channelArray: string[]