基于js实现数组相邻元素上移下移


Posted in Javascript onMay 19, 2020

实现效果:

基于js实现数组相邻元素上移下移

即需要实现当前元素与相邻元素交换位置,

当上移时,则是当前元素与上一元素调换位置;当下移时,则是当前元素与下一元素调换位置。

实现代码:

js:

//点击上移
clickUp(index){
 this.swapArray(this.tableData, index-1, index);
},
//点击下移
clickDown(index){
 this.swapArray(this.tableData, index, index+1);
},
//数组元素互换位置
swapArray(arr, index1, index2) {
 arr[index1] = arr.splice(index2, 1, arr[index1])[0];
 return arr;
},

html:

<el-table-column label="顺序调整" min-width="80" align="center">
 <template slot-scope="scope">
  <div class="img_style">
   <img src="@/assets/images/up_01.png" v-if="scope.$index == 0">
   <img src="@/assets/images/up.png" @click="clickUp(scope.$index)" v-else>
   <img src="@/assets/images/down_01.png" v-if="scope.$index == tableData.length - 1">
   <img src="@/assets/images/down.png" @click="clickDown(scope.$index)" v-else>
  </div>
 </template>
</el-table-column>

注意:

1.思想就是在数组中交换两个元素的位置,使用splice()的替换;

2.上移是跟上一元素交换位置,下移是跟下一元素交换位置,不同体现在调用调换方法时传入的index参数不同。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
WordPress 插件——CoolCode使用方法与下载
Jul 02 Javascript
jquery表单验证使用插件formValidator
Nov 10 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
Jul 17 Javascript
javascript处理表单示例(javascript提交表单)
Apr 28 Javascript
js解决movebox移动问题
Mar 29 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
微信小程序 rpx 尺寸单位详细介绍
Oct 13 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
Feb 03 Javascript
Vue.js 中取得后台原生HTML字符串 原样显示问题的解决方法
Jun 10 Javascript
全面了解JavaScript的作用域链
Apr 03 Javascript
Vue数据双向绑定底层实现原理
Nov 22 Javascript
Node.js API详解之 zlib模块用法分析
May 19 #Javascript
微信jssdk踩坑之签名错误invalid signature
May 19 #Javascript
JavaScript实现简单的弹窗效果
May 19 #Javascript
js实现自定义右键菜单
May 18 #Javascript
微信小程序手动添加收货地址省市区联动
May 18 #Javascript
怎么理解wx.navigateTo的events参数使用详情
May 18 #Javascript
django简单的前后端分离的数据传输实例 axios
May 18 #Javascript
You might like
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
2010/10/12 PHP
smarty简单分页的实现方法
2014/10/27 PHP
Win10 下安装配置IIS + MySQL + nginx + php7.1.7
2017/08/04 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
解析John Resig Simple JavaScript Inheritance代码
2012/12/03 Javascript
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
Javascript基础教程之比较操作符
2015/01/18 Javascript
JavaScript实现向右伸出的多级网页菜单效果
2015/08/25 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
jQuery基于ID调用指定iframe页面内的方法
2016/07/06 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
微信小程序页面缩放式侧滑效果的实现代码
2018/11/15 Javascript
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
python保存字符串到文件的方法
2015/07/01 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
Python使用ctypes调用C/C++的方法
2019/01/29 Python
python操作小程序云数据库实现简单的增删改查功能
2019/06/06 Python
python 实现在一张图中绘制一个小的子图方法
2019/07/07 Python
使用python socket分发大文件的实现方法
2019/07/08 Python
python 使用plt画图,去除图片四周的白边方法
2019/07/09 Python
django迁移文件migrations的实现
2020/03/31 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
Myholidays美国:在线旅游网站
2019/08/16 全球购物
房地产销售经理岗位职责
2014/01/01 职场文书
金融学专业大学生职业生涯规划
2014/03/07 职场文书
春节超市活动方案
2014/08/14 职场文书
教学改革问题查摆整改措施
2014/09/27 职场文书
2014年转正工作总结
2014/11/08 职场文书
作文评语集锦
2014/12/25 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
AndroidStudio图片压缩工具ImgCompressPlugin使用实例
2022/08/05 Java/Android