Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript를 사용하여 배열로 분할된 문자열을 사용하여 배열을 검색하려면 어떻게 해야 합니까?

<시간/>

문자열 배열과 배열에서 검색해야 하는 또 다른 문자열이 제공됩니다. 사용자가 입력을 통해 제공한 모든 문자가 포함되어 있는지 여부를 확인하는 배열을 필터링할 수 있습니다.

동일한 작업을 수행하는 코드는 -

예시

해결책 1

const deliveries = ["14/02/2020, 11:47,G12, Kalkaji", "13/02/2020, 11:48,
A59, Amar Colony"];
const input = "g12, kal";
const pn = input.split(" ");
const requiredDeliveries = deliveries.filter(delivery =>
pn.every(p =>
delivery.toLowerCase()
.includes(p.toLowerCase())));
console.log(requiredDeliveries);

출력

콘솔의 출력 -

["14/02/2020, 11:47,G12, Kalkaji"]

또 다른 좀 더 나은 접근 방식에서는 아래와 같이 입력을 분할하는 단계를 제거할 수 있습니다. -

예시

해결책 2

const deliveries = ["14/02/2020, 11:47,G12, Kalkaji", "13/02/2020, 11:48,
A59, Amar Colony"];
const input = "g12, kal";
const requiredDeliveries = deliveries
.filter(delivery =>
delivery.toLowerCase()
.includes(input.toLowerCase()));
console.log(requiredDeliveries);

그러나 이 두 번째 접근 방식을 사용하는 동안 시퀀스에 민감하다는 것은 AB가 ab 또는 Ab와 일치하지만 BA 또는 ba와는 일치하지 않음을 의미한다는 점을 명심해야 합니다.

콘솔의 출력 -

출력

["14/02/2020, 11:47,G12, Kalkaji"]