js 如何随机获取多维数组元素。 比如一个有100个元素的三维数组,如何随机获取其中的1-10个元素? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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] 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' }); });}能帮看一下代码标注的地方,为什么不起作用吗? 用 alert(rand_flow(10));得到的是undefined;为什么? rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值? rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?回调函数不会返回值 我想用nameStr = rand_flow(10);得到rand_flow函数中的nameStr的值,怎么做呢?rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?回调函数不会返回值我想用nameStr = rand_flow(10);得到rand_flow函数中的nameStr的值,该怎么做呢? 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?为什么?} 不行,是不是因为数据不同步的原因,nameStr的值是通过新浪API获取的,是不是那边的值还没有返回来,这么代码已经执行完毕了呢?如果是,那该怎么解决呢? 试试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;} 不行,我改写了一下,也不行。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' }); }); }郁闷!! 求个数组的问题。 文字颜色不变么? 关于jsp中的JavaScript调用问题 setTimeout 的问题 帮忙看看 想问下下面的JS为何在firefox里一点效果都没!在IE里是一个2级横向菜单 js 生成树的时候是如何判断前面那一排线的 就单学javascript有前途吗? 已下载阿赖JS控件程序请更新程序,没下载的一定去看看!随便散100分给大家 easyUi中的data-options属性里面有一个url:可以调用Resource层里面的方法 ,这个url怎么加一个参数呢 求教一个正则表达式 散分贴:jq-extgrid插件 支持ie6+ ... 一个简单的正则表达式问题
<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]
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'
});
});
}
能帮看一下代码标注的地方,为什么不起作用吗?
得到的是undefined;
为什么?
回调函数不会返回值
得到rand_flow函数中的nameStr的值,怎么做呢?rand_flow是在哪定义的二楼的那个函数啊,在回调函数中不要使用return,那用什么返回值?
回调函数不会返回值我想用nameStr = rand_flow(10);得到rand_flow函数中的nameStr的值,该怎么做呢?
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?为什么?
}
不行,是不是因为数据不同步的原因,nameStr的值是通过新浪API获取的,是不是那边的值还没有返回来,这么代码已经执行完毕了呢?如果是,那该怎么解决呢?
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;
}
不行,我改写了一下,也不行。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'
});
});
}郁闷!!