//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]);
}
}