[TIL]9978日間航行
9027 ワード
問題シュート22.03.26~28
(実際の悩み時間は数時間足らずですが、完成時間まで試してみます)
過半数投票死亡時に表示されるモード画面
スパイ投票ウィンドウ(モード)を有効にして、死者が見られないようにします。
フォルダ構造
React-src
私が思いついた方法
const user_list = useSelector((state) => state.vote.userList);
const deadPerson = user_list.filter((user) => user.isEliminated === 'Y');
console.log(deadPerson, '죽은 사람들 리스트');
=>フィルタリング後の値は配列[{a,b,c}]でフィルタリングされ,条件文が適用されていないことが分かった.バカすぎる
チームメンバーの考え方
この値
const user_list = useSelector((state) => state.vote.userList);
const isFired = user_list.filter((user) => user.isEliminated === 'Y');
console.log(isFired, '죽은 사람들 리스트');
//빈배열
const isFireds = [];
//해고 명단 반복문 돌려서 ID값 isFireds에 넣기
isFired.forEach((id) => {
isFireds.push(Object.values(id));
});
//해고 명단 ID 리스트에 본인 ID가 있다면 true반환
const _isFired = isFireds[0].includes(parseInt(userId));
=>私は方法を理解して、私はそれが成功すると確信していますが、反応の中で間違いが発生しました.なぜなら、ロードされたときに死んだプレイヤーがいないためundefined値に入り、その値を比較して読み込めないメッセージエラーを返すからです.
上記のメソッドに条件文を追加
新しく作成した配列の長さが0の場合は、任意の内容を追加します.
=>このような変数を各モデルに入れると成功する.
// 처음 시작할 때 isFireds는 빈배열이기에 오류가 나서 밑에 코드 작성
// 빈배열일때 undefined ID넣기
if (isFireds.length === 0) isFireds.push('undefined Id');
改造する
const isFired = roomUserList.filter((user) => user.isEliminated === 'Y'); // 해고당한 명단
const isFireds = isFired.map((user) => {
return user.userId;
});
console.log(isFireds); // 리스트 중 userId만 반환 [1, 2...]
const _isFired = isFireds.includes(parseInt(userId));
console.log(_isFired, '불린형');
これは私にとって古典的な機能です.今回私が一人で考えていた時も難しいと思っていましたが、他の人が手伝ってくれて、聞いてみると、私は一人で口ずさむ問題に時間を費やしすぎたことに気づきました.
私たちを助けてくれた人たちに感謝します.
Reference
この問題について([TIL]9978日間航行), 我々は、より多くの情報をここで見つけました https://velog.io/@tkejt1343/TIL-항해99-78일차テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol