변경전
const uniqueFlatQna = [].concat.apply([], faqs.map((faq)=>{
return faq.faqs.map((qa)=>{
return {
question: qa.question,
answer: qa.answer,
fUrl: qa.fUrl,
}
})
}))
uniqueFlatQna.forEach((item) => {
if (uniqueFlatQna.findIndex(x => x.question === item.question) <= -1)
uniqueFlatQna.push({item})
})
const data = this.state.keyword ? uniqueFlatQna.filter(
(qna) => {
return qna.question.indexOf(this.state.keyword) > -1;
}
) : faqs[selectedCategoryIndex]?.faqs || []
변경 후
getKeywordFaqs(faqData, keyword) {
const keywordFaqs = []
faqData.forEach((section) => {
section.faqs.forEach((qna) => {
if (qna.question.indexOf(keyword) >= 0 && keywordFaqs.includes(qna) === false) keywordFaqs.push(qna)
})
})
return keywordFaqs
}
const data = keyword ? this._getKeywordFaqs(faqs, keyword) : (faqs[selectedCategoryIndex]?.faqs || [])
'프로그래밍 정보공유' 카테고리의 다른 글
유용한 vscode 플러그인 모음 (0) | 2021.03.02 |
---|---|
Eslint: 가독성을 높이는 코드 작성 규칙 (0) | 2020.07.26 |
findIndex를 이용하여 object array내 원소 위치 탐색하기 (0) | 2020.07.07 |
git 브랜치 pull request 하기 (0) | 2020.07.06 |
함수형 컴포넌트 생성과 props로 함수 파라미터 넘기기 (0) | 2020.07.06 |