배열은 거의 모든 데이터의 초석입니다. 동일한 유형의 요소가 두 개 이상 있으면 배열이 될 가능성이 높습니다. 배열은 거의 모든 곳에 있으므로 배열에 포함된 내용에 관계없이 배열을 조작하는 방법을 아는 것은 핵심 기술 중 하나입니다. 이는 개발의 거의 모든 영역에 해당됩니다. 데이터를 변환, 필터링 또는 검사할 때 배열 방법이 핵심입니다.
개발자가 언어 또는 Web API의 모든 기능을 외울 것이라고 기대하지는 않지만 변환(매핑), 제거(필터링) 및 변환(축소)하는 하나 이상의 방법을 찾을 것으로 기대합니다. 정렬.
이 기사 시리즈에서는 다양한 배열 방법과 이를 사용하는 방법에 대해 설명합니다. 어떤 방법에 대해 배우고 싶거나 논의하고 싶은지 알고 싶습니다. 특히 다루고 싶은 내용이 있으면 알려주십시오.
몇 가지 배열 프로토타입 방법과 이들이 제공하는 기능을 살펴보겠습니다. 다음 표에는 콜백 세부정보를 포함한 메서드 서명이 나열되어 있습니다. 반환 유형, 응답에 각 입력에 대한 레코드가 포함되어 있는지 여부, 배열의 각 항목에 대해 콜백을 실행할지 여부를 보여줍니다.
方法 | 返回值 | 一对一 | 对所有元素运行 |
---|---|---|---|
.map((value, index, array) => *) | 数组 | 是 | 是 |
.filter((value, index, array) => Boolean) | 数组 | 否 | 是 |
.reduce((accumulator, value, index, array) => *, optionalInitial) | * | 否 | 是 |
.find((value, index, array) => Boolean) | */undefined | 否 | 否 |
.some((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.every((value, index, array) => Boolean) | 布尔值 | 否 | 否 |
.forEach((value, index, array) => undefined) | undefined | N/A | 是 |
.sort((value1, value2) => Math.sign) | 数组 | 是 | **更多?** |
.flat(optionalDepth) | 数组 | 否 | 是 |
.flatMap((values, index, array) => *) | 数组 | 否 | 是 |
이러한 노력에서는 성과가 주요 고려 사항이 아닙니다. 때때로 이에 대해 다루지만 가장 일반적인 데이터 크기의 경우 일반적으로 눈에 띄는 성능 영향이 없습니다. 일반적으로 성능을 고려하기 전에 코드 가독성과 유지 관리 가능성에 중점을 두어야 합니다. 리소스가 제한된 장치에서 작업하거나 매우 큰 데이터 세트를 처리하는 데는 몇 가지 고유한 제한 사항이 있습니다. 성능 문제에 대해 더 자세히 논의하고 싶다면 알려주시기 바랍니다.
이 시리즈 기사에서는 개별 배열 방법을 분석하고 사용 방법에 대해 논의합니다. 이를 사용하는 일반적이고 창의적이며 "기발한" 방법이 많이 있으며, 가독성과 유지 관리를 위해 피해야 할 몇 가지 사항을 다루도록 노력하겠습니다.
위 내용은 JavaScript: 배열은 어디에나 있습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!