浅析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 变量作用域 代码分析
Jun 26 Javascript
基于jquery的给文章加入关键字链接
Oct 26 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
Dec 10 Javascript
jquery模拟alert的弹窗插件
Jul 31 Javascript
Bootstrap表单布局
Jul 19 Javascript
原生js获取元素样式的简单方法
Aug 06 Javascript
详细分析Javascript中创建对象的四种方式
Aug 17 Javascript
Javascript计算二维数组重复值示例代码
Dec 18 Javascript
Postman模拟发送带token的请求方法
Mar 31 Javascript
webstorm中vue语法的支持详解
May 09 Javascript
Javascript Worker子线程代码实例
Feb 20 Javascript
解决vue 给window添加和移除resize事件遇到的坑
Jul 21 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
后宫无数却洁身自好的男主,唐三只爱小舞
2020/03/02 国漫
PHP完整的日历类(CLASS)
2006/11/27 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
PHP实现的日历功能示例
2018/09/01 PHP
ThinkPHP中图片按比例切割的代码实例
2019/03/08 PHP
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
JavaScript学习历程和心得小结
2010/08/16 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
jquery 学习之二 属性 文本与值(text,val)
2010/11/25 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
Raphael带文本标签可拖动的图形实现代码
2013/02/20 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
2013/08/21 Javascript
Javascript事件实例详解
2013/11/06 Javascript
javascript实现用户点击数量统计
2016/12/25 Javascript
jQuery常见面试题之DOM操作详析
2017/07/05 jQuery
简单实现js鼠标跟随效果
2020/08/02 Javascript
轻量级富文本编辑器wangEditor结合vue使用方法示例
2018/10/10 Javascript
angular中如何绑定iframe中src的方法
2019/02/01 Javascript
webpack4手动搭建Vue开发环境实现todoList项目的方法
2019/05/16 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
vue-router 按需加载 component: () =&gt; import() 报错的解决
2020/09/22 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
Python自定义函数计算给定日期是该年第几天的方法示例
2019/05/30 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
最新pycharm安装教程
2020/11/18 Python
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
泰国第一在线超市:Tops
2021/02/13 全球购物
安全责任书
2015/01/29 职场文书
党员干部廉洁自律承诺书
2015/04/28 职场文书
超市啤酒狂欢夜策划方案范文!
2019/07/03 职场文书
品牌形象定位,全面分析
2019/07/23 职场文书
开发一个封装iframe的vue组件
2021/03/29 Vue.js
腾讯云服务器部署前后分离项目之前端部署
2022/06/28 Servers