js リストの並び順比較処理
reactで、propsから渡ってきている初期リストと
画面上でsortしてstateに保存しているリストの並び順を比較した時のメモ。
戻り値のbooleanとbreak用のreturn falseがややこしいから戻り値を変数に格納してます
forEachはbreakできないね!
/** * 並び順が変更されたか判定 */ isSorted() { let isSorted: boolean = false; const defaultOrderList = this.props.targetList .slice() .sort((a: ContentsInfo, b: ContentsInfo) => { return a.sort_no - b.sort_no; }); this.state.currentData.forEach((v: any, index: number) => { if ( v.sort_no !== defaultOrderList[index].sort_no ) { isSorted = true; return; } }); return isSorted; }