1.打平嵌套数组 [1, [2, [3], 4], 5] => [1, 2, 3, 4, 5]
2.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
3 .寻找两个有序数组最小相同元素
a = [1, 2, 5, 9, 10]
b = [3, 4, 6, 9, 10]
解
var arr= [1, [2, [3], 4], 5];
var str=arr.toString();
var show=[];
for(var i=0;i<str.length;i++){
if(true)
show.push(Number(str[i]));//将字符串的每一项转化为数字
}
console.log(show.filter(function(x){
return Boolean(x); //去除数组里面的NaN,false ,0,null等
}
));// [1, 2, 3, 4, 5]
var result=[];
while(true){
var flag=false;
var random=parseInt(10+(90-10)*(Math.random()));//求一个在1-100的随机数
for(var i=0;i<result.length;i++){
if(random==result[i]){
flag=true;
break;
}
}
if(!flag){
result.push(random);
}
if(result.length==10){
break;
}
}
result.sort(function(a,b){
return a-b;
})
console.log(result);
function min(arr1,arr2){
var result=[];
for(var i=0;i<arr1.length;i++){
if(arr2.indexOf(arr1[i])!=-1){
result.push(arr1[i]);//得到相同项的数组
}
}
return Math.min.apply(this,result);
}
var a=[1,6,7,2,0,5];
var b=[2,3,4,5,6,1,8,-1];
console.log(min(a,b));//1










网友评论