js数组练习
1将数组中数字内容求和
var attr = [12,34,2,5,76]; var sum = 0; for(i=0;i < attr.length;i++){ sum = sum + attr[i]; } alert(sum);
2、var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0]; var arr1 = []; 第一种方法 for(i=0;i<arr.length;i++){ if (arr[i]!=0) { arr1.push(arr[i]); } } alert(arr1); 第二种方法 for(i=0;i<arr.length;i++){ if (arr[i] == 0) continue; arr1.push(arr[i]); } alert(arr1);
3、写出一个javascript的函数,实现对一个数组去重的功能。
构建一个新的数组存放结果。
for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比。
若结果数组中没有该元素,则存到结果数组中。
var attr =[2,34,2,5,6,9,8,6,4,34,67,6]; var b=0; for(var i=0;i<attr.length;i++){ b = 0; for(var j=attr.length;j > i;j--){ if(attr[i] == attr[j]){ b=1; } } if (b==0) { alert(attr[i]); 这里只弹出了数据 需要将其推放到新数组,不影响思路 } }
var attr =[2,34,2,5,6,9,8,6,4,34,67,6]; var newAtrr =[]; for (var i= 0;i<attr.length;i++){ //fa1 if(newAtrr.indexOf(attr[i]) == -1){ newAtrr.push(attr[i]); } //fa2 flag = true; for(var j= 0; j< newAtrr.length;j++){ if(newAtrr[j]==attr[i]){ flag=false; } if(flag){ newAtrr.push(attr[i]); } }
4、数组最大值
var attr = [12,34,2,5,76]; var max = attr[0]; for (i=0;i<attr.length;i++) { max = max>attr[i]?max:attr[i]; } alert(max);
5、.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
var attr = []; for (i=0;i<10;i++) { attr.push(parseInt((Math.random())*90+11)); }
//fa1
for(var j =0;j<attr.length-1;j++){ for(var k = j+1; k<attr.length;k++){ if(attr[j]>attr[k]){ var zhong = attr[j]; attr[j] = attr[k]; attr[k]=zhong; } } }
//fa2
for(j=0,j<b.length;j++){
for(var k= 0;k<b.length-1-j;k++){
if(b[k]>b[k+1]{
var temp = b[k];
b[k] = b[ k+1];
}
}
} console.log(attr);
6.用js实现随机选取10~100之间的10个数字,往数组里面添加数据的时候去重,存入一个数组,并排序。!!!!!!
var a = new Array(); var b = []; var bs = 0; var i = -1; while(true) {i++; a[i] = parseInt(Math.random() * 90 + 10); if(b.indexOf(a[i]) == -1) { b.push(a[i]); bs++; if(bs == 10) { break; } } } for(j = 0; j < b.length; j++) { for(k = 0; k < b.length - 1 - j; k++) { if(b[k] > b[k + 1]) { var temp = b[k]; b[k] = b[k + 1]; b[k + 1] = temp; } } } document.write(b); var a = new Array(); var b = []; var bs = 0; var i = -1; while(true) {i++; a[i] = parseInt(Math.random() * 90 + 10); if(b.indexOf(a[i]) == -1) { b.push(a[i]); bs++; if(bs == 10) { break; } } } for(j = 0; j < b.length; j++) { for(k = 0; k < b.length - 1 - j; k++) { if(b[k] > b[k + 1]) { var temp = b[k]; b[k] = b[k + 1]; b[k + 1] = temp; } } } document.write(b);