浅析vue.js数组的变异方法


Posted in Javascript onJune 30, 2018

Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下:

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort()
  • reverse()

都有什么功能?动手试验了一下:

<body>
  <div id="app">
   <div>
    push方法:
    <input type="text" v-model="text" @keyup.enter="methodByPush">
    <input type="button" value="测试功能" @click="methodByPush">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
    <div>
    pop方法:
    <input type="button" value="测试功能" @click="methodByPop">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
   <div>
    shift方法:
    <input type="button" value="测试功能" @click="methodByShift">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
    <div>
    unshift方法:
    <input type="text" v-model="text" @keyup.enter="methodByUnshift">
    <input type="button" value="测试功能" @click="methodByUnshift">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
   <div>
    splice方法:
    <input type="button" value="测试功能" @click="methodBySplice">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
   <div>
    sort方法:
    <input type="button" value="测试功能" @click="methodBySort">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div> 
   <div>
   reverse方法:
    <input type="button" value="测试功能" @click="methodByReverse">
    <ul>
     <li v-for="item of items">
      <span v-text="item"></span>
     </li>
    </ul>
   </div>
   result显示的地方:<br>
   <span v-text="result"></span>
  </div>
<script>
  var vm = new Vue({
   el: '#app',
   data: {
    items: [],
    text: '',
    result: ''
   },
   methods: {
    methodByPush: function () {
     this.result = this.items.push(this.text)
     this.text = ''
    },
    methodByPop: function () {
     this.result = ''
     this.result = this.items.pop()
    },
    methodByShift: function () {
     this.result = ''
     this.result = this.items.shift()
    },
    methodByUnshift: function () {
     this.result = ''
     this.result = this.items.unshift(this.text)
     this.text = ''
    },
    methodBySplice: function () {
     this.result = ''
     this.result = this.items.splice(2,1,'yovan')
    },
    methodBySort: function () {
     this.result = ''
     this.result = this.items.sort()
    },
    methodByReverse: function () {
     this.result = ''
     this.result = this.items.reverse()
     alert(this.result)
    }
   }
  })
</script>

得到下面的结论:

push() 往数组最后面添加一个元素,成功返回当前数组的长度

pop() 删除数组的最后一个元素,成功返回删除元素的值

shift() 删除数组的第一个元素,成功返回删除元素的值

unshift() 往数组最前面添加一个元素,成功返回当前数组的长度

splice() 有三个参数,第一个是想要删除的元素的下标(必选),第二个是想要删除的个数(必选),第三个是删除
后想要在原位置替换的值(可选)

sort() 使数组按照字符编码默认从小到大排序,成功返回排序后的数组

reverse() 将数组倒序,成功返回倒序后的数组

后来发现这些应该都是javascript本来的方法吧?以前javascript没学好,正好趁这次把这些方法的用法都给捡回来!

Javascript 相关文章推荐
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
jQuery实现流动虚线框的方法
Jan 29 Javascript
JS实现左右无缝轮播图代码
May 01 Javascript
JavaScript中的prototype原型学习指南
May 09 Javascript
JS获取checkbox的个数简单实例
Aug 19 Javascript
vue实现列表的添加点击
Dec 29 Javascript
基于JavaScript实现新增内容滚动播放效果附完整代码
Aug 24 Javascript
Angular实现下载安装包的功能代码分享
Sep 05 Javascript
React Native 图片查看组件的方法
Mar 01 Javascript
vue多层嵌套路由实例分析
Mar 19 Javascript
Node.js API详解之 module模块用法实例分析
May 13 Javascript
探索node之事件循环的实现
Oct 30 Javascript
详解vue添加删除元素的方法
Jun 30 #Javascript
vue.js删除列表中的一行
Jun 30 #Javascript
vue v-model动态生成详解
Jun 30 #Javascript
vue-router+nginx 非根路径配置方法
Jun 30 #Javascript
Vue项目中添加锁屏功能实现思路
Jun 29 #Javascript
angular6.0开发教程之如何安装angular6.0框架
Jun 29 #Javascript
详解Angular6.0使用路由步骤(共7步)
Jun 29 #Javascript
You might like
PHP define函数的使用说明
2008/08/27 PHP
php 文件上传代码(限制jpg文件)
2010/01/05 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
php页面函数设置超时限制的方法
2014/12/01 PHP
PHP实现的增强性mhash函数
2015/05/27 PHP
[原创]php简单防盗链验证实现方法
2016/07/09 PHP
基于PHP制作验证码
2016/10/12 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
javascript 二维数组的实现与应用
2010/03/16 Javascript
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
JS简单实现移动端日历功能示例
2016/12/28 Javascript
微信小程序学习(4)-系统配置app.json详解
2017/01/12 Javascript
详解浏览器渲染页面过程
2017/02/09 Javascript
在Vue methods中调用filters里的过滤器实例
2018/08/30 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
JavaScript数组类型Array相关的属性与方法详解
2020/09/08 Javascript
[01:13:08]2018DOTA2亚洲邀请赛4.6 淘汰赛 mineski vs LGD 第二场
2018/04/10 DOTA
Python中使用asyncio 封装文件读写
2016/09/11 Python
利用python实现数据分析
2017/01/11 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python实现针对给定字符串寻找最长非重复子串的方法
2018/04/21 Python
Python实现直方图均衡基本原理解析
2019/08/08 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
Python爬虫之Selenium下拉框处理的实现
2020/12/04 Python
P D PAOLA意大利官网:西班牙著名的珠宝首饰品牌
2019/09/24 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
会务接待方案
2014/02/27 职场文书
经典安踏广告词
2014/03/21 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
代理词怎么写
2015/05/25 职场文书