JS数组排序

比如我现在有一个数组[1,2,2,3,4,4,5]
如果我输 3 或者传过来的是 3
出来的顺序是[3,1,2,2,4,4,5]
如果我输 4
出来的顺序是[4,4,1,2,2,3,5]
如果我输 2
出来的顺序是[2,2,1,3,4,4,5]

用JS for循环怎么实现

第1个回答  2015-05-06
var arr = [1,2,2,3,4,4,5];
var num = 3;
arr = arr.sort();
for(var i = 0;i<arr.length;i++){
if(arr[i]==num){
arr.splice(i,1);
arr.unshift(num);
}
}
console.info(arr);
这就是你想要的,想法就是在数组中匹配到num后移除数组中的该元素,并在数组首位插入一个num。追问

传参是2   最后效果是

是JS  错加了个String

追答var num=2;
var temp;
for(var i=0;i<array.length;i++){
    if(parseInt(array[i][2]) == num){
        temp = array[i];
        array.slice(i,1);
        array.unshift(temp);
    }
}

第2个回答  推荐于2016-10-14
var c_sort = function(arr,n){

for(var i =0,len = arr.length;i<len;i++)
if(arr[i] == n)
arr.unshift(arr.splice(i,1)[0]);

return arr;
};

console.log(c_sort([1,2,2,3,4,4,5],2));

追问

如果该数组变成

 

下图

 

传参是 2   打到的效果是  2,2,1,3,4,4,5

 

 

已经有点绕晕了

追答// 你的二维数组
var array = [[],[]];
var sort = function(arr,n){

return arr.sort(function(a,b){

if(b[1]!=n) return -1;

return 1;

});
};
console.log(sort(array,2));

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网