オブジェクトの最初の部分のみ削除
7053 ワード
オブジェクトから一部を削除
次のような曲のヒントがある場合
特定の歌手の部分だけを再生してヒントから削除したらどうしますか?
特定の歌手の再生(特定のタイプの第1部のみ削除)
歌手と同じインデックスをfor loopでsongrequestQueueで検索します.
キュー内のオブジェクトを削除しbreakから飛び出し、最初のオブジェクトのみを削除します.
特定の歌手の再生(特定のタイプの第1部のみ削除)
findIndexを使用して最初のインデックスのみを取得し、spliceを使用して既存のキューから削除します.
上記の相違点は、直接アクセスインデックスによって削除されます.
findIndex()メソッドは、与えられた判別関数を満たす配列の最初の要素のインデックスを返します.満足できる要素がない場合は、-1を返します.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
次のような曲のヒントがある場合
特定の歌手の部分だけを再生してヒントから削除したらどうしますか?
const songRequestQueue = [
{
playList: {
genre: "팝",
title: "Sugar",
singer: "마룬파이브",
},
customerName: "1번고객",
},
{
playList: {
genre: "팝",
title: "Pysical",
singer: "두아리파",
},
customerName: "2번고객",
},
{
playList: {
genre: "팝",
title: "노스텔지아",
singer: "두아리파",
},
customerName: "3번고객",
},
];
以前特定の歌手の再生(特定のタイプの第1部のみ削除)
歌手と同じインデックスをfor loopでsongrequestQueueで検索します.
キュー内のオブジェクトを削除しbreakから飛び出し、最初のオブジェクトのみを削除します.
if (singer && !genre && !type) {
for (let i = 0; i < this.songRequestQueue.length; i++) {
if (this.songRequestQueue[i].playList.singer === singer) {
delete this.songRequestQueue[i];
break;
}
}
}
変更特定の歌手の再生(特定のタイプの第1部のみ削除)
findIndexを使用して最初のインデックスのみを取得し、spliceを使用して既存のキューから削除します.
上記の相違点は、直接アクセスインデックスによって削除されます.
if (singer && !genre && !type) {
this.songRequestQueue.splice(
this.songRequestQueue.findIndex(
(req: SongRequest) => req.playList.singer === singer
),
1
);
}
findIndexfindIndex()メソッドは、与えられた判別関数を満たす配列の最初の要素のインデックスを返します.満足できる要素がない場合は、-1を返します.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
Reference
この問題について(オブジェクトの最初の部分のみ削除), 我々は、より多くの情報をここで見つけました https://velog.io/@ehgks0000/객체에서-첫번째-부분만-삭제하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol