基于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 相关文章推荐
Mootools 1.2 手风琴(Accordion)教程
Sep 15 Javascript
js中设置元素class的三种方法小结
Aug 28 Javascript
JavaScript中用字面量创建对象介绍
Dec 31 Javascript
EasyUI,点击开启编辑框,并且编辑框获得焦点的方法
Mar 01 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
Sep 01 Javascript
jQuery代码实现表格中点击相应行变色功能
May 09 Javascript
js数组操作方法总结(必看篇)
Nov 22 Javascript
jquery实现用户登陆界面(示例讲解)
Sep 06 jQuery
Phaser.js实现简单的跑酷游戏附源码下载
Oct 26 Javascript
vue与原生app的对接交互的方法(混合开发)
Nov 28 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
Feb 27 jQuery
微信小程序云函数添加数据到数据库的方法
Mar 04 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
全国FM电台频率大全 - 25 云南省
2020/03/11 无线电
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
php广告加载类用法实例
2014/09/23 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php socket通信(tcp/udp)实例分析
2016/02/14 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
Yii2中添加全局函数的方法分析
2017/05/04 PHP
索趣科技的答案
2007/02/07 Javascript
发布一个基于javascript的动画类 Fx.js
2010/11/05 Javascript
Jquery注册事件实现方法
2015/05/18 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
2016/04/14 Javascript
JavaScript自学笔记(必看篇)
2016/06/23 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
JS获取当前时间的年月日时分秒及时间的格式化的方法
2019/12/18 Javascript
Echarts实现单条折线可拖拽效果
2019/12/19 Javascript
小程序实现上下切换位置
2020/11/16 Javascript
[51:52]Liquid vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.24
2019/09/10 DOTA
给Python初学者的一些编程技巧
2015/04/03 Python
Python3结合Dlib实现人脸识别和剪切
2018/01/24 Python
在Python 2.7即将停止支持时,我们为你带来了一份python 3.x迁移指南
2018/01/30 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
浅谈Python采集网页时正则表达式匹配换行符的问题
2018/12/20 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
浅谈python处理json和redis hash的坑
2020/07/16 Python
Python绘制组合图的示例
2020/09/18 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
保加利亚手表、香水、化妆品和珠宝购物网站:Brasty.bg
2020/04/22 全球购物
学生感冒英文请假条
2014/02/04 职场文书
教师爱岗敬业演讲稿
2014/05/05 职场文书
减负增效提质方案
2014/05/23 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书
企业管理制度设计时要注意的几种“常见病”!
2019/04/19 职场文书
2019个人工作态度自我评价
2019/04/24 职场文书
PyTorch的Debug指南
2021/05/07 Python