js数组中我想插入一个数但不知道具体位置应该怎么插入
[1,2,3,4,5]
我想变成[1,2,3,4,4,5]
这样的
在4,5的中间插入一个值

解决方案 »

  1.   

    <script type="text/javascript">
    var a=[1,2,3,4,5];
    a.push(11);
    a=a.sort(num);
    function num(a,b){
    return a-b;
    }
    alert(a);
    </script>
    数据不多的话可以直接sort下  多的话可能用二分法好点
      

  2.   


    <script type="text/javascript">
    function insert(arr,a){ //先插入后排序
    arr.push(a)
    return arr.sort();
    }
    arr=[1,2,4,5,8];
    alert(insert(arr,5));
    </script>
      

  3.   


    var arr = [1,2,3,4,5,6,7,8,9];
    /**
    a array 要操作的数组
    index int 要插入的位置
    num obj 要插入的值
    */
    function insert(a , index , num){
    var temp = a.splice(index);
    return a.concat(num,temp);
    }
    var result = insert(arr , 4 , 123);
      

  4.   

    var arr=[1,2,3,4,5];
    arr.splice(3,0,4);
      

  5.   

    var arr=[1,2,3,4,5];
    arr.splice(4,0,'x');//arr=>[1,2,3,4,'x',5]
      

  6.   

    //index为dest数组中的插入位置
    //dest为目标数组
    //src为待插入数组或者单个元素
    function insertArray(index,dest,src) {
        dest.splice(index,0,src);
        var d = dest.join();
        var arr = d.split(',').map(function(x) {
                if(parseInt(x)) {
                    return parseInt(x);
                }    
                else {
                    return x;
                 }
                });
    return arr;
    }
      

  7.   

    insertArray(3,[1,2,3,4,5],8);
    或者
    insertArray(3,[1,2,3,4,5],'x');
    或者
    insertArray(3,[1,2,3,4,5],[8,'x',9,'y']);
    都可以