比如一个有100个元素的三维数组,
如何随机获取其中的1-10个元素?

解决方案 »

  1.   

    js的数组其实就是数组的数组,可以按照下面的方法进行
    <script type="text/javascript">
    var a = [ 
    [
    [11,12,13],
    [22,21,23],
    [33,33333,33333,333333]
    ],
    [
    ["aa","a"],
    ["b","bb"],
    ["c"]
    ]
            ];var result = "";
    for(i=0;i<10;i++){
    var first = Math.floor(Math.random() * a.length + 1)-1;  
    var second = Math.floor(Math.random() * a[first].length + 1)-1; 
    var three = Math.floor(Math.random() * a[first][second].length + 1)-1; 
    result += a[first][second][three] + "|"
    }
    alert(result)
    </script>随机取,其实就是随机设置数组的下标
    a[first][second][three]
      

  2.   


    function rand_flow(n){
            var nameStr='';
            WB2.anyWhere(function(W){
                W.parseCMD("/friendships/friends.json", function(sResult, bStatus){
                    if(typeof sResult['error_code'] != 'undefined'){                  
                        return ;
                    }
                    if(bStatus == true){
    for(i=0;i<n;i++){
    var first = Math.floor(Math.random() * sResult.users.length + 1)-1; 
    nameStr += '@'+sResult.users[first]['screen_name']+' ';
    }
    $('#namestr').html( nameStr); //起作用可以得到nameStr的值
    return nameStr;//返回的是空undefined?为什么?
                    }
                    },{
                        uid:my.uid,
                        count:100,
                        cursor:0                  
                    },{
                        method: 'get'
                });
            });
    }
    能帮看一下代码标注的地方,为什么不起作用吗?
      

  3.   

    用 alert(rand_flow(10));
    得到的是undefined;
    为什么?
      

  4.   

    rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?
      

  5.   

    rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?
    回调函数不会返回值
      

  6.   

    我想用nameStr = rand_flow(10);
    得到rand_flow函数中的nameStr的值,怎么做呢?rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?
    回调函数不会返回值我想用nameStr = rand_flow(10);得到rand_flow函数中的nameStr的值,该怎么做呢?
      

  7.   

    function rand_flow(n){
      var nameStr='';
      WB2.anyWhere(function(W){
        W.parseCMD("/friendships/friends.json", function(sResult, bStatus){
          if(typeof sResult['error_code'] != 'undefined'){
            return ;
          }
          if(bStatus == true){
            for(i=0;i<n;i++){
              var first = Math.floor(Math.random() * sResult.users.length + 1)-1; 
              nameStr += '@'+sResult.users[first]['screen_name']+' ';
    }
    $('#namestr').html( nameStr); //起作用可以得到nameStr的值      }
        },{uid:my.uid,count:100,cursor:0},{method: 'get'});
      });
      return nameStr;//返回的是空undefined?为什么?
    }
      

  8.   


    不行,是不是因为数据不同步的原因,nameStr的值是通过新浪API获取的,是不是那边的值还没有返回来,这么代码已经执行完毕了呢?如果是,那该怎么解决呢?
      

  9.   

    试试
    function rand_flow(n){
      var nameStr='';
      nameStr=WB2.anyWhere(function(W){
        W.parseCMD("/friendships/friends.json", function(sResult, bStatus){
          if(typeof sResult['error_code'] != 'undefined'){
            return ;
          }
          if(bStatus == true){
            for(i=0;i<n;i++){
              var first = Math.floor(Math.random() * sResult.users.length + 1)-1; 
              nameStr += '@'+sResult.users[first]['screen_name']+' ';
    }
    $('#namestr').html( nameStr); //起作用可以得到nameStr的值
    return nameStr;
          }
        },{uid:my.uid,count:100,cursor:0},{method: 'get'});
      });
      return nameStr;
    }
      

  10.   


    不行,我改写了一下,也不行。function rand_flow1(n){
        var nameStr="";
        return nameStr = WB2.anyWhere(function(W){
    W.parseCMD("/friendships/friends.json", function(sResult, bStatus){
    if(typeof sResult['error_code'] != 'undefined'){
    //alert(sResult['error_code']);
    return ;
    }
    if(bStatus == true){
    for(i=0;i<n;i++){
    var first = Math.floor(Math.random() * sResult.users.length + 1)-1; 
    nameStr += '@'+sResult.users[first]['screen_name']+' ';
    }
    return nameStr;
    }
    },{
    uid:my.uid,
    count:100,
    cursor:0                  
    },{
    method: 'get'
    });
    });
    }郁闷!!