美文网首页
改变对象在数组中的位置

改变对象在数组中的位置

作者: 叫我扬大人 | 来源:发表于2017-03-19 16:43 被阅读0次

function moveOrder(items,item,direction){

  var  myindex=items.indexOf(item)

  if((myindex==0&&direction=='+') || (myindex==items.length-1&&direction=='-')) {return}

  if(direction=='+') {

    items.splice(myindex-1,0,items.splice(myindex,1)[0])

  }else{

    items.splice(myindex+1,0,items.splice(myindex,1)[0])

  }

}

moveOrder([1,2,3,4,5,6,7],5,'-')

span.fa.fa-arrow-circle-up(@click="moveOrder(items,item, '+')" v-show="$index>0" title="上移")

span.fa.fa-arrow-circle-down(@click="moveOrder(items,item, '-')" v-show="$index<items.length-1" title="下移")

解惑

1.看起来items中只是添加了一个元素 并没有删除 但是items中还是少了item

原因 : items.splice(myindex,1)[0] 这个算法 执行了两个命令 

 1.items中删除了 item

2.获得了item

相关文章

  • 改变对象在数组中的位置

    function moveOrder(items,item,direction){ var myindex=it...

  • NSArray和NSMutableArray

    NSArray不可变数组 初始化 字面量创建 数组元素个数 判断对象是否在数组中 某对象的位置 某位置的对象 �拼...

  • 2019-01-22 Vue

    在Javascript中对对象和数组是通过引用传入的,所以对于一个数组或者对象类型的prop来说,在子组件中改变这...

  • Flutter - 了解Flutter中的动画

    如果我们想要一些东西动画,我们必须改变大小或改变连续帧中对象的位置。例如,在第1帧中,我们的对象位于位置x,在第2...

  • 2、变量的解构赋值

    解构赋值概念:在ES6中,直接从数组和对象中取值,按照对应位置,赋值给变量的操作。 #2.1 数组 基础用法: 本...

  • js数组操作

    数组-字符串数组、对象数组 删除数组指定位置元素 调换数组两个元素位置 调换1 3 位置的元素are.splic...

  • Array对象常用方法

    Array对象常用方法中: 不改变原数组: 1、 concat()连接两个或多个数组不改变原数组返回被连接数组的一...

  • JavaScript数组的indexOf方法与封装

    这个方法是数组对象用于检测元素在数组中的索引位置 参数:target,startIndex (起始索引,目标) 返...

  • JSON数组

    数组作为JSON对象 实例 JSON数组在中括号中书写 JSON对象中的数组 对象属性的值可以是一个数组实例:

  • 数组forEach

    数组遍历,以下方式不能改变原数组数据。 原因item是形参,对形参改变值不能改变原有属性的值,当数组中的元素为对象...

网友评论

      本文标题:改变对象在数组中的位置

      本文链接:https://www.haomeiwen.com/subject/lxgmnttx.html