[英]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.