현재 사용하고 모 2.0. 나는 배열을 가지고 다음과 같다:
var channelArray: Array<string> = ['one', 'two', 'three'];
어떻게 확인할 수 있습니에서 호환되지 않습니지 channelArray 문자열이 포함되어 있'세'?
동일한으로,자바 스크립트를 사용하여배열입니다.프로토 타입입니다.indexOf():
console.log(channelArray.indexOf('three') > -1);
거나 사용하는 ECMAScript2016배열입니다.프로토 타입입니다.을 포함한():
console.log(channelArray.includes('three'));
할 수도 있음을 유의하십시오 방법을 사용하여 다음과 같이 보여주는@Nitzan 을 찾는 문자열을 사용합니다. 그러나 당신은 것't 일반적으로 하는 문자열을 배열하지만,오히려의 배열에 대한 개체입니다. 거기에는 그 방법에는 더 합리적이다. 예를 들어
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'}]
Reference
사용할 수 있습니다어떤 방법:
console.log(channelArray.some(x => x === "three")); // true
사용할 수 있습니다를 찾을 방법:
console.log(channelArray.find(x => x === "three")); // three
또는 사용할 수 있습니다indexOf 방법:
console.log(channelArray.indexOf("three")); // 2
코드가 ES7 기반:
channelArray.includes('three'); //will return true or false
하지 않을 경우,예를 들어,당신은 당신을 사용하는 IE 없이 바벨 transpile:
channelArray.indexOf('three') !== -1; //will return true or false
는indexOf
방법을 반환하는 위치는 요소는 배열로,때문에 우리가 사용하는!==
에서 다른 경우-1 을 바늘에서 첫 번째 위치.
TS 는 많은 유틸리티는 방법을 배열을 사용할 수있는을 통해 시제품의 배열입니다. 이 여러 개 있는 이러한 목표를 달성 할 수 있지만 두 가장 편리한 이러한 목적은:
배열입니다.indexOf()
는 어떤 값을 인수로 나와서 다시 돌아가 첫 번째는 인덱스에서 지정된 요소에서 찾을 수 있습 배열,또는 -1 는 경우 그것은 존재하지 않습니다.배열입니다.을 포함한()
모든 가치를 인수할지 여부를 결정합 배열이 포함되어 있는 이 값을 지정해야 합니다. 이 방법을 반환하는진정한
경우의 값입 발견,그렇지 않으면false
.Example:
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