数组练习题
- 将数组中数字内容求和
var attr = [12, 34, 2, 5, 76]; var sum = 0; for(var i = 0; i < attr.length; i++) { sum = sum + attr[i]; } alert(sum);
- 要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0]; var a = []; for(i = 0; i < arr.length; i++) { if(arr[i] == 0) { continue; } a.push(arr[i]); } document.write(a);
- 写出一个javascript的函数,实现对一个数组去重的功能。 构建一个新的数组存放结果。 for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比。 若结果数组中没有该元素,则存到结果数组中。
var attr = [2, 34, 2, 5, 6, 9, 8, 6, 4, 34, 67, 6]; var b = []; for(i = 0; i < attr.length; i++) { for(j = 0; j < attr.length; j++) { for(k = 0; k < attr.length - 1 - j; k++) { if(attr[k] > attr[k + 1]) { var temp = attr[k]; attr[k] = attr[k + 1]; attr[k + 1] = temp; } } } if(attr[i] != attr[i + 1]) { b.push(attr[i]); } } alert(b);
- 数组最大值
var attr = [12, 34, 2, 5, 76]; var a = attr[0]; for(i = 0; i < attr.length; i++) { if(attr[i] > a) { a = attr[i]; } } alert(a);
- 用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);