Vue刪除數組的幾種方法

一、從Vue數組中刪除某個元素

Vue數組中刪除某個元素是比較簡單的,可以用splice()方法實現,但需注意每次刪除後都需要實時更新Vue視圖。

<template>
  <div>
    <p v-for="(item, index) in arr" :key="index">
      {{ item }}
      <button @click="removeItem(index)">刪除</button>
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [1, 2, 3, 4, 5, 6]
      }
    },
    methods: {
      removeItem(index) {
        this.arr.splice(index, 1);
      }
    }
  }
</script>

二、Vue刪除數組一項並更新

在Vue中通過刪除數組一項,需要及時更新視圖,可以使用Vue.$set()方法實現。實現過程為:先將要刪除的元素下標取出來,然後利用splice刪除,最後使用Vue.$set更新Vue視圖。

<template>
  <div>
    <p v-for="(item, index) in arr" :key="index">
      {{item.name}} - {{item.age}}
      <button @click="removeItem(index)">刪除</button>
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [{name: 'Tom', age: 18}, {name: 'Jerry', age: 20}, {name: 'Lucky', age: 22}]
      }
    },
    methods: {
      removeItem(index) {
        this.arr.splice(index, 1);
        this.arr.forEach((item, i) => {
          this.$set(this.arr, i, item);
        });
      }
    }
  }
</script>

三、Vue刪除數組中的某個對象

假設數組中為對象數組,則刪除某個元素,則需要利用索引來刪除對象,具體實現方法與刪除數組元素相同。

<template>
  <div>
    <p v-for="(item, index) in arr" :key="index">
      {{item.name}} - {{item.age}}
      <button @click="removeItem(index)">刪除</button>
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [{name: 'Tom', age: 18}, {name: 'Jerry', age: 20}, {name: 'Lucky', age: 22}]
      }
    },
    methods: {
      removeItem(index) {
        this.arr.splice(index, 1);
        this.arr.forEach((item, i) => {
          this.$set(this.arr, i, item);
        });
      }
    }
  }
</script>

四、Vue刪除數組元素的方法

除了splice()方法以外,還有pop()、shift()、 unshift()、slice()等方法可以刪除數組元素,需要根據具體業務需求選擇。

// 使用pop()刪除數組尾部元素
arr.pop();
// 使用shift()刪除數組頭部元素
arr.shift();
// 使用unshift()在數組頭部插入一項
arr.unshift(newElement);
// 使用slice()截取指定區間內的元素
arr.slice(start, end);

五、Vue刪除數組中的一條數據

Vue中可以用filter()方法刪除數組中符合指定條件的元素,刪除之後通過$set()方法更新視圖。

<template>
  <div>
    <p v-for="(item, index) in arr" :key="index">
      {{item.name}} - {{item.age}}
      <button @click="removeItem(item)">刪除</button>
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [{name: 'Tom', age: 18}, {name: 'Jerry', age: 20}, {name: 'Lucky', age: 22}]
      }
    },
    methods: {
      removeItem(item) {
        this.arr = this.arr.filter(elem => elem !== item);
        this.arr.forEach((item, i) => {
          this.$set(this.arr, i, item);
        });
      }
    }
  }
</script>

六、Vue刪除數組中的元素

除了使用splice()方法以外,還可以使用delete運算符或者Vue.delete()方法刪除數組中的元素。

// 使用delete運算符
delete arr[index];

// 使用Vue.delete()方法
Vue.delete(arr, index);

七、Vue刪除數組某一項

除了直接修改數組以外,還可以通過新建一個數組,將不需要刪除的元素添加進去,實現保留指定元素,刪除其他元素的效果。

<template>
  <div>
    <p v-for="(item, index) in newarr" :key="index">
      {{item}}
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [1, 2, 3, 4, 5, 6],
        index: 2,
        newarr: []
      }
    },
    mounted() {
      this.newarr = this.arr.filter((item, index) => index !== this.index);
    }
  }
</script>

八、Vue刪除數組移除指定元素

與上述保留指定元素的方法相反,此處需要將指定元素以外的元素保留下來。

<template>
  <div>
    <p v-for="(item, index) in newarr" :key="index">
      {{item}}
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [1, 2, 3, 4, 5, 6],
        index: 2,
        newarr: []
      }
    },
    mounted() {
      this.newarr = this.arr.filter((item, index) => index === this.index);
    }
  }
</script>

九、Vue刪除數組空白元素

空白元素指的是數組中的空值、null、undefined等。可以使用filter()方法將數組中的空白元素過濾出來。

<template>
  <div>
    <p v-for="(item, index) in newarr" :key="index">
      {{item}}
    </p>
  </div>
</template>

<script>
  export default {
    data() {
      return {
        arr: [1, null, 3, undefined, 5, '', 7],
        newarr: []
      }
    },
    mounted() {
      this.newarr = this.arr.filter(item => item !== null && item !== undefined && item !== '');
    }
  }
</script>

總結

Vue中刪除數組元素的方法有很多種,主要包括splice()方法、pop()、shift()、unshift()、slice()等,需要根據具體業務需求來選擇。在刪除元素後,一定要注意即時更新Vue視圖。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/249611.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 17:13
下一篇 2024-12-12 17:13

相關推薦

  • Python導入數組

    本文將為您詳細闡述Python導入數組的方法、優勢、適用場景等方面,並附上代碼示例。 一、numpy庫的使用 numpy是Python中一個強大的數學庫,其中提供了非常豐富的數學函…

    編程 2025-04-29
  • 使用Vue實現前端AES加密並輸出為十六進位的方法

    在前端開發中,數據傳輸的安全性問題十分重要,其中一種保護數據安全的方式是加密。本文將會介紹如何使用Vue框架實現前端AES加密並將加密結果輸出為十六進位。 一、AES加密介紹 AE…

    編程 2025-04-29
  • Python返回數組:一次性搞定多種數據類型

    Python是一種多用途的高級編程語言,具有高效性和易讀性的特點,因此被廣泛應用於數據科學、機器學習、Web開發、遊戲開發等各個領域。其中,Python返回數組也是一項非常強大的功…

    編程 2025-04-29
  • Python去掉數組的中括弧

    在Python中,被中括弧包裹的數據結構是列表,列表是Python中非常常見的數據類型之一。但是,有些時候我們需要將列表展開成一維的數組,並且去掉中括弧。本文將為大家詳細介紹如何用…

    編程 2025-04-29
  • Python操作數組

    本文將從多個方面詳細介紹如何使用Python操作5個數組成的列表。 一、數組的定義 數組是一種用於存儲相同類型數據的數據結構。Python中的數組是通過列表來實現的,列表中可以存放…

    編程 2025-04-29
  • Vue TS工程結構用法介紹

    在本篇文章中,我們將從多個方面對Vue TS工程結構進行詳細的闡述,涵蓋文件結構、路由配置、組件間通訊、狀態管理等內容,並給出對應的代碼示例。 一、文件結構 一個好的文件結構可以極…

    編程 2025-04-29
  • Python二維數組對齊輸出

    本文將從多個方面詳細闡述Python二維數組對齊輸出的方法與技巧。 一、格式化輸出 Python中提供了格式化輸出的方法,可以對輸出的字元串進行格式化處理。 names = [‘A…

    編程 2025-04-29
  • Java創建一個有10萬個元素的數組

    本文將從以下方面對Java創建一個有10萬個元素的數組進行詳細闡述: 一、基本介紹 Java是一種面向對象的編程語言,其強大的數組功能可以支持創建大規模的多維數組以及各種複雜的數據…

    編程 2025-04-28
  • Python數組隨機分組用法介紹

    Python數組隨機分組是一個在數據分析與處理中常用的技術,它可以將一個大的數據集分成若干組,以便於進行處理和分析。本文將從多個方面對Python數組隨機分組進行詳細的闡述,包括使…

    編程 2025-04-28
  • Python數組索引位置用法介紹

    Python是一門多用途的編程語言,它有著非常強大的數據處理能力。數組是其中一個非常重要的數據類型之一。Python支持多種方式來操作數組的索引位置,我們可以從以下幾個方面對Pyt…

    編程 2025-04-28

發表回復

登錄後才能評論