基于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 相关文章推荐
JS实现距离上次刷新已过多少秒示例
May 23 Javascript
jquery遍历函数siblings()用法实例
Dec 24 Javascript
jQuery事件的绑定、触发、及监听方法简单说明
May 10 Javascript
用js动态添加html元素,以及属性的简单实例
Jul 19 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
Sep 18 Javascript
angular双向绑定模拟探索
Dec 26 Javascript
jQuery实现弹幕效果
Feb 17 Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
Mar 11 Javascript
React 组件间的通信示例
Jun 14 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
WEEX环境搭建与入门详解
Oct 16 Javascript
微信小程序调用后台service教程详解
Nov 06 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 服务器配置(使用Apache及IIS两种方法)
2009/06/01 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
PHP中将字符串转化为整数(int) intval() printf() 性能测试
2020/03/20 PHP
提高php运行速度的一些小技巧分享
2012/07/03 PHP
在PHP中使用redis
2013/11/04 PHP
PHP中的Memcache详解
2014/04/05 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
不用AJAX和IFRAME,说说真正意义上的ASP+JS无刷新技术
2008/09/25 Javascript
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
jQuery与其它库冲突的解决方法
2010/06/25 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
SpringMVC restful 注解之@RequestBody进行json与object转换
2015/12/10 Javascript
Node.js实现发送邮件功能
2017/11/06 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
2019/02/18 Javascript
JavaScript实现放大镜效果代码示例
2020/04/29 Javascript
[03:11]完美世界DOTA2联赛PWL DAY8集锦
2020/11/09 DOTA
Python中的zipfile模块使用详解
2015/06/25 Python
Python编程实现删除VC临时文件及Debug目录的方法
2017/03/22 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python pandas消除空值和空格以及 Nan数据替换方法
2018/10/30 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python中的延迟绑定原理详解
2019/10/11 Python
python求绝对值的三种方法小结
2019/12/04 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
详解HTML5中div和section以及article的区别
2015/07/14 HTML / CSS
管理站站长岗位职责
2013/11/27 职场文书
社区十八大感言
2014/01/19 职场文书
揭牌仪式主持词
2014/03/19 职场文书
环保专项行动方案
2014/05/12 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
护士长2015年终工作总结
2015/04/24 职场文书
退休欢送会致辞
2015/07/31 职场文书
mysql insert 存在即不插入语法说明
2022/03/25 MySQL