javascript - 지도 및 forEach의 중첩 탐색, 배열을 반환하는 방법은 무엇입니까?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-19 10:21:54
0
7
1040

응용 시나리오

테이블 필터링에는 여러 필터링 조건이 포함될 수 있습니다. this.filter里面存的是所有筛选条件的v-model状态的一个对象,this.tableData是从后端获取的所有原始表格数据的数组,this.filteredTableData는 필터링된 테이블 데이터의 배열입니다.

코드

으아악

질문

이렇게 작성하면 두 번째 console.log(this.filteredTableData)拿到一个全部是undefined 배열이 만들어집니다. 이 오류는 forEach가 루프를 중단하기 위해 return을 사용할 수 없기 때문에 발생합니다.
그래서 알고 싶습니다:

  • 맵을 사용할 때 이 기능을 구현하는 방법과 맵 내부에서는 변수를 사용하지 않는 것이 가장 좋습니다(사용할 수는 있지만 성능이 걱정됩니다)?

  • 데이터의 양this.filteredTableData이 특히 많으면 더 좋은 방법이 없을까요?

曾经蜡笔没有小新
曾经蜡笔没有小新

모든 응답(7)
漂亮男人

[].filter를 직접 사용하세요...

伊谢尔伦

질문이 좀 이해하기 어렵네요
지도를 배열로 변환하고 싶다면
[...map]만 입력하면 됩니다

Ty80

필터가 더 적합합니다.

그리고 변수를 추가하면 성능에 영향을 미친다는 생각은 어디서 나온 걸까요? 성능 문제가 발생하기 전에 성능 문제가 있을 것이라고 추측하는 데 의존하지 마십시오.

대신 일반 for 루프를 사용하거나 forEach 외부에 bool 값을 정의하여 판단해야 합니다.

phpcn_u1582

이전에 map과 forEach를 사용하여 문제가 발생했는데 나중에 for...in과 for...of를 사용하여 문제를 해결했습니다. map과 forEach를 사용할 필요는 없나요? 그것을 해결하기 위해.

習慣沉默

forEach에서는 이것을 사용하지 마세요

으아아아
巴扎黑

정의되지 않음이 포함된 배열에 대한 질문에 답변해 드리겠습니다. undefined的问题吧。

你在map函数里 没有return

지도 함수에 return이 없으면 당연히 반환 값이 없습니다. 표시되지 않는 반환 값은 당연히 정의되지 않습니다.

순회 결과를 반환하지 않고 쓸데없는 작업을 수행하는 것과 같습니다.

map의 콜백함수는 이렇게 작성하면 안되는거 아닌가요?

으아아아 내가 대답하지 않은 척하고 이 질문을 다시 읽어보세요. return Object.keys(this.filter)는 당신에게 의미가 없습니다.

다음과 같은 중간 변수를 사용해야 합니다. 🎜 으아아아
漂亮男人

그게 무슨 뜻인지 모르겠어요.


으아아아
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿