基于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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
ExtJS实现文件下载的方法实例
Nov 09 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
JavaScript中的replace()方法使用详解
Jun 06 Javascript
jquery插件jquery.nicescroll实现图片无滚动条左右拖拽的方法
Aug 10 Javascript
微信jssdk在iframe页面失效问题的解决措施
Mar 03 Javascript
js跨域资源共享 基础篇
Jul 02 Javascript
jquery 正整数数字校验正则表达式
Jan 10 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
初学node.js中实现删除用户路由
May 27 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.MVC的模板标签系统(四)
2006/09/05 PHP
如何对PHP程序中的常见漏洞进行攻击
2006/10/09 PHP
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
myEvent.js javascript跨浏览器事件框架
2011/10/24 Javascript
jquery ajax post提交数据乱码
2013/11/05 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
js实现数组转换成json
2015/06/26 Javascript
iframe跨域通信封装详解
2015/08/11 Javascript
js实现随屏幕滚动的带缓冲效果的右下角广告代码
2015/09/04 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
基于slideout.js实现移动端侧边栏滑动特效
2016/11/28 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
分享ES6的7个实用技巧
2018/01/18 Javascript
如何解决webpack-dev-server代理常切换问题
2019/01/09 Javascript
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
nohup后台启动Python脚本,log不刷新的解决方法
2019/01/14 Python
python+pyqt5实现24点小游戏
2019/01/24 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
python中tkinter窗口位置\坐标\大小等实现示例
2020/07/09 Python
html5教程制作简单画板代码分享
2013/12/04 HTML / CSS
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
元宵晚会主持词
2014/03/25 职场文书
优秀教师演讲稿
2014/05/06 职场文书
个人授权委托书范文
2014/09/21 职场文书
财务负责人岗位职责
2015/02/03 职场文书
2016初一新生军训心得体会
2016/01/11 职场文书
初中政治教学反思
2016/02/23 职场文书
Redis Cluster 字段模糊匹配及删除
2021/05/27 Redis
如何优化vue打包文件过大
2022/04/13 Vue.js