浅析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 相关文章推荐
关闭浏览器输入框自动补齐 兼容IE,FF,Chrome等主流浏览器
Feb 11 Javascript
详解JavaScript中的blink()方法的使用
Jun 08 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
第一次接触神奇的Bootstrap导航条
Aug 09 Javascript
JavaScript对象创建模式实例汇总
Oct 03 Javascript
node+express制作爬虫教程
Nov 11 Javascript
js图片放大镜效果实现方法详解
Oct 28 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
vue+element实现表单校验功能
May 20 Javascript
js+html实现点名系统功能
Nov 05 Javascript
vue学习之Vue-Router用法实例分析
Jan 06 Javascript
vue中div禁止点击事件的实现
Apr 02 Vue.js
详解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
首页四格,首页五格For6.0(GBK)(UTF-8)[12种组合][9-18][版主安装测试通过]
2007/09/24 PHP
PHP实现时间轴函数代码
2011/10/08 PHP
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
JS简单的图片放大缩小的两种方法
2013/11/11 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
javascript通过获取html标签属性class实现多选项卡的方法
2015/07/27 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
JS中的hasOwnProperty()、propertyIsEnumerable()和isPrototypeOf()
2016/08/11 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
jQuery查找dom的几种方法效率详解
2017/05/17 jQuery
详解webpack分离css单独打包
2017/06/21 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
基于Vue CSR的微前端实现方案实践
2020/05/27 Javascript
Python编程之多态用法实例详解
2015/05/19 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python 实现将文件或文件夹用相对路径打包为 tar.gz 文件的方法
2019/06/10 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
使用K.function()调试keras操作
2020/06/17 Python
CSS3实现自定义Checkbox特效实例代码
2017/04/24 HTML / CSS
美国知名户外用品畅销中心:Sierra Trading Post
2016/07/19 全球购物
六月份红领巾广播稿
2014/02/03 职场文书
入学生会自荐书范文
2014/02/05 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
单位法人授权委托书范本
2014/10/09 职场文书
逃课检讨书
2015/01/26 职场文书
党小组推荐意见
2015/06/02 职场文书
结婚喜宴迎宾词
2015/08/10 职场文书
关于感恩的作文
2019/08/26 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python