千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Vue中处理数组的方法和示例

Vue中处理数组的方法和示例

来源:千锋教育
发布人:xqq
时间: 2023-07-26 21:56:29 1690379789

Vue中处理数组的方法有很多,下面我们就来看看具体的使用方法。

1.Vue.set()

Vue.set()方法可以向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,并且触发视图更新。


// 添加新的属性
Vue.set(vm.items, indexOfItem, newValue)

2.vm.$set()

vm.$set()方法是全局Vue.set()的一个别名,它可以为响应式对象设置新的属性,并确保这个新属性同样是响应式的,并且触发视图更新。


// 添加新的属性
vm.$set(vm.items, indexOfItem, newValue)

3.splice()

splice()方法可以添加、删除或替换数组中的元素,它接收三个参数:要改变的元素的索引,要删除的元素的数量,以及要添加的元素。


// 添加一个新元素
vm.items.splice(indexOfItem, 0, newValue)

// 删除一个元素
vm.items.splice(indexOfItem, 1)

// 替换一个元素
vm.items.splice(indexOfItem, 1, newValue)

4.filter()

filter()方法可以过滤数组,它接收一个函数作为参数,该函数会接收一个参数,该参数是数组中的元素,函数必须返回一个布尔值,返回true表示保留该元素,返回false表示删除该元素。


// 过滤数组
const filteredItems = vm.items.filter(function(item) {
  return item.name === 'foo'
})

5.concat()

concat()方法可以将两个或多个数组合并为一个新的数组,它接收一个或多个数组作为参数,并返回一个新的数组。


// 合并两个数组
const newItems = vm.items.concat(additionalItems)

6.sort()

sort()方法可以对数组中的元素进行排序,它接收一个函数作为参数,该函数会接收两个参数,表示要比较的两个元素,函数必须返回一个数字,如果第一个参数比第二个参数小,则返回一个负数,如果两个参数相等,则返回0,如果第一个参数比第二个参数大,则返回一个正数。


// 按照名字排序
vm.items.sort(function(a, b) {
  if (a.name < b.name) {
    return -1
  }
  if (a.name > b.name) {
    return 1
  }
  return 0
})

7.forEach()

forEach()方法可以对数组中的每个元素执行一个函数,它接收一个函数作为参数,该函数会接收三个参数,分别是当前正在处理的元素、元素的索引和原数组。


// 遍历数组
vm.items.forEach(function(item, index, array) {
  console.log(item, index, array)
})

8.map()

map()方法可以对数组中的每个元素执行一个函数,并返回一个新的数组,它接收一个函数作为参数,该函数会接收三个参数,分别是当前正在处理的元素、元素的索引和原数组。


// 映射数组
const newItems = vm.items.map(function(item, index, array) {
  return item.name
})

9.reduce()

reduce()方法可以对数组中的每个元素执行一个函数,并将其结果汇总为一个值,它接收一个函数作为参数,该函数会接收四个参数,分别是上一次函数执行的返回值(或者是

千锋教育是高品质web前端培训机构,千锋教育拥有大量实力web前端培训讲师,提供优质的web培训课程,web前端培训,欢迎报名千锋教育。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT