基于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 相关文章推荐
JavaScript延迟加载
Mar 09 Javascript
jquery 触发a链接点击事件解决方案
May 02 Javascript
jquery 文本上下无缝滚动,鼠标放上去就停止 小例子
Jun 05 Javascript
Firefox下无法正常显示年份的解决方法
Sep 04 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
Jan 02 Javascript
使用JQuery FancyBox插件实现图片展示特效
Nov 16 Javascript
js 右侧浮动层效果实现代码(跟随滚动)
Nov 22 Javascript
第九章之路径分页标签与徽章组件
Apr 25 Javascript
vue组件发布到npm简单步骤
Nov 30 Javascript
微信小程序tabBar用法实例详解
Dec 04 Javascript
vue webpack实用技巧总结
Apr 24 Javascript
vue自定义组件(通过Vue.use()来使用)即install的用法说明
Aug 11 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 文本文件的读取效率
2012/02/10 PHP
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
php导出中文内容excel文件类实例
2015/07/06 PHP
php json_encode与json_decode详解及实例
2016/12/13 PHP
Aster vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JavaScript replace(rgExp,fn)正则替换的用法
2010/03/04 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
js读取配置文件自写
2014/02/11 Javascript
js中 javascript:void(0) 用法详解
2015/08/11 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
js封装成插件_Canvas统计图插件编写实例
2017/09/12 Javascript
JQuery 选择器、DOM节点操作练习实例
2017/09/28 jQuery
Element-UI Table组件上添加列拖拽效果实现方法
2018/04/14 Javascript
js实现每日签到功能
2018/11/29 Javascript
微信小程序实现文件预览
2020/10/22 Javascript
js实现简易ATM功能
2020/10/27 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[55:04]海涛DOTA2死魂复燃6.82版本介绍
2014/09/28 DOTA
python实现博客文章爬虫示例
2014/02/26 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
python输入多行字符串的方法总结
2019/07/02 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
JSF面试题:如何管量web层中的Bean,用什么标签。如何通过jsp页面与Bean绑定在一起进行处理?
2012/10/05 面试题
信息工程学院毕业生推荐信
2013/11/05 职场文书
致铅球运动员广播稿精选
2014/01/12 职场文书
大学生创业策划书
2014/02/02 职场文书
大学生就业求职信
2014/06/12 职场文书
专升本学生毕业自我鉴定
2014/10/04 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
java实现自定义时钟并实现走时功能
2022/06/21 Java/Android
js作用域及作用域链工作引擎
2022/07/07 Javascript