zoukankan      html  css  js  c++  java
  • js改变数组的两个元素的位子,互换、置顶

    //js数组的元素上移和下移动

    var fieldData=[

          {name:'id',value:'ID'}

        , {name:'username',value:'用户名'}

        , {name:'email',value:'邮箱'}

        , {name:'sex',value:'性别'}

        , {name:'city',value:'城市'}

        , {name:'sign',value:'签名'}

        , {name:'experience',value:'积分'}

        , {name:'ip',value:'IP'}

        , {name:'logins',value:'登入次数'}

        , {name:'joinTime',value:'加入时间'}

    ];

    var index=9;

    须知:

    unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。

    shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。

    splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

    三种方法都会改变数组

    1:两个元素换位子;

    function swapArr(arr, index1, index2) {
        arr[index1] = arr.splice(index2, 1, arr[index1])[0];
        return arr;
    }

    2:置顶移动

    function toFirst(fieldData,index) {

        if(index!=0){

            // fieldData[index] = fieldData.splice(0, 1, fieldData[index])[0]; 这种方法是与另一个元素交换了位子,

            fieldData.unshift(fieldData.splice(index , 1)[0]);

        }

    }

    3:up 上移动一格

    function upGo(fieldData,index){

        if(index!=0){

            fieldData[index] = fieldData.splice(index-1, 1, fieldData[index])[0];

        }else{

            fieldData.push(fieldData.shift());

        }

    }

    4:down 下移动一格

    function downGo(fieldData,index) {

        if(index!=fieldData.length-1){

            fieldData[index] = fieldData.splice(index+1, 1, fieldData[index])[0];

        }else{

            fieldData.unshift( fieldData.splice(index,1)[0]);

        }

    }

  • 相关阅读:
    Linux分区
    Vim 基本配置
    Ubuntu几种常见乱码解决方法
    ADB
    ubuntu下安装配置ADB
    Tinyos学习笔记(三)
    Tinyos学习笔记(二)
    Codeforces Round #249 (Div. 2) A题
    poj 2007 Scrambled Polygon(极角排序)
    MemSQL Start[c]UP 2.0
  • 原文地址:https://www.cnblogs.com/jxldjsn/p/10791692.html
Copyright © 2011-2022 走看看