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/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

发表回复

登录后才能评论