簡體   English   中英

JavaScript 拼接刪除索引 + 1 處的數組元素而不是索引

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM