基于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 EasyUI API 中文文档 - Spinner微调器使用
Oct 21 Javascript
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
Feb 13 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
Bootstrap实现下拉菜单效果
Apr 29 Javascript
jQuery插件实现可输入和自动匹配的下拉框
Oct 24 Javascript
JavaScript给每一个li节点绑定点击事件的实现方法
Dec 01 Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 Javascript
整理关于Bootstrap模态弹出框的慕课笔记
Mar 29 Javascript
Vue实现简易计算器
Feb 25 Javascript
JavaScript indexOf()原理及使用方法详解
Jul 09 Javascript
vscode中的vue项目报错Property ‘xxx‘ does not exist on type ‘CombinedVueInstance<{ readyOnly...Vetur(2339)
Sep 11 Javascript
ajax jquery实现页面某一个div的刷新效果
Mar 04 jQuery
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基础知识:类与对象(4) 范围解析操作符(::)
2006/12/13 PHP
CentOS下PHP安装Oracle扩展
2015/02/15 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
JQuery 简便实现页面元素数据验证功能
2007/03/24 Javascript
setTimeout 不断吐食CPU的问题分析
2009/04/01 Javascript
jquery实现的代替传统checkbox样式插件
2015/06/19 Javascript
javascript中 try catch用法
2015/08/16 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
JavaScript位移运算符(无符号) &gt;&gt;&gt; 三个大于号 的使用方法详解
2016/03/31 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
js定义类的几种方法(推荐)
2016/06/08 Javascript
JS实现点击事件统计的简单实例
2016/07/10 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
vue构建动态表单的方法示例
2018/09/22 Javascript
Node.js之readline模块的使用详解
2019/03/25 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
Vue实现简易计算器
2020/02/25 Javascript
[19:59]2014DOTA2国际邀请赛 IG战队纪录片
2014/08/07 DOTA
Java中重定向输出流实现用文件记录程序日志
2015/06/12 Python
Numpy array数据的增、删、改、查实例
2018/06/04 Python
NumPy 数学函数及代数运算的实现代码
2018/07/18 Python
彻底理解Python中的yield关键字
2019/04/01 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
python如何获取apk的packagename和activity
2020/01/10 Python
Python如何定义有默认参数的函数
2020/08/10 Python
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
美国精油公司:Plant Therapy
2019/05/17 全球购物
abstract class和interface有什么区别
2013/08/04 面试题
国际会议邀请函范文
2014/01/16 职场文书
阳光体育活动总结
2014/04/30 职场文书
2015年“公民道德宣传日”活动方案
2015/05/06 职场文书
教师理论学习心得体会
2016/01/21 职场文书
代码解析React中setState同步和异步问题
2021/06/03 Javascript