[英]JavaScript splice removes array element at index + 1 instead of index
我看到一個奇怪的問題,splice 似乎刪除了索引 + 1 處的元素,而不是正確的索引。 例如,如果 selectedCourseMediaIndex = 0,則刪除數組中索引為 1 的元素。 發生這種情況有什么特別的原因嗎?
courseMedia: [
{
name: 'testing_startup_ideas.mp3',
url:
'https://s3.eu-west-2.amazonaws.com/media.test.co.uk/default/testing_startup_ideas.mp3',
type: CourseContentMediaType.AUDIO,
},
{
name: 'biggest_mistake_founders_make.mp3',
url:
'https://s3.eu-west-2.amazonaws.com/media.test.co.uk/default/biggest_mistake_founders_make.mp3',
type: CourseContentMediaType.AUDIO,
},
],
onEditAudioItemDeleteButtonClick() {
let courseMedia = JSON.parse(JSON.stringify(this.courseMedia));
courseMedia = CourseContentService.deleteCourseMediaByIndex(
courseMedia,
this.selectedCourseMediaIndex
);
}
static deleteCourseMediaByIndex(
courseMedia: ICourseMedia[],
selectedCourseMediaIndex: number
): ICourseMedia[] {
return courseMedia.splice(selectedCourseMediaIndex, 1);
}
splice
不返回更新后的數組。
static deleteCourseMediaByIndex(
courseMedia: ICourseMedia[],
selectedCourseMediaIndex: number
): ICourseMedia[] {
courseMedia.splice(selectedCourseMediaIndex, 1);
return courseMedia
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.