基于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 相关文章推荐
用JQuery 实现的自定义对话框
Mar 24 Javascript
JavaScript的面向对象方法以及差别
Mar 31 Javascript
php gethostbyname获取域名ip地址函数详解
Jan 24 Javascript
判断客户浏览器是否支持cookie的示例代码
Dec 23 Javascript
JavaScript ParseFloat()方法
Dec 18 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
JS正则替换去空格的方法
Mar 24 Javascript
基于vue中css预加载使用sass的配置方式详解
Mar 13 Javascript
js中的闭包实例展示
Nov 01 Javascript
jQuery实现购物车的总价计算和总价传值功能
Nov 28 jQuery
vue动态绑定class的几种常用方式小结
May 21 Javascript
Electron vue的使用教程图文详解
Jul 05 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
重置版战役片段
2020/04/09 魔兽争霸
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
php中getservbyport与getservbyname函数用法实例
2014/11/18 PHP
javascript 设置文本框中焦点的位置
2009/11/20 Javascript
jquery控制listbox中项的移动并排序的实现代码
2010/09/28 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JavaScript地图拖动功能SpryMap的简单实现
2013/07/17 Javascript
JS判定是否原生方法
2013/07/22 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
JavaScript获取数组最小值和最大值的方法
2015/06/09 Javascript
javascript实现给定半径求出圆的面积
2015/06/26 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
JS常见创建类的方法小结【工厂方式,构造器方式,原型方式,联合方式等】
2017/04/01 Javascript
easyui combogrid实现本地模糊搜索过滤多列
2017/05/13 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
vue 挂载路由到头部导航的方法
2017/11/13 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
Python 元组(Tuple)操作详解
2014/03/11 Python
python操作redis的方法
2015/07/07 Python
Python中的time模块与datetime模块用法总结
2016/06/30 Python
python调用Delphi写的Dll代码示例
2017/12/05 Python
python3中property使用方法详解
2019/04/23 Python
利用python实现逐步回归
2020/02/24 Python
PyQt5的相对布局管理的实现
2020/08/07 Python
简历自我评价怎么写呢?
2014/01/06 职场文书
违反课堂纪律检讨书
2014/01/19 职场文书
2014年计生工作总结
2014/11/21 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
Sleuth+logback 设置traceid 及自定义信息方式
2021/07/26 Java/Android