数组练习题

  • 将数组中数字内容求和   
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);

 

posted @ 2018-08-22 20:32  元气满满01  阅读(306)  评论(0编辑  收藏  举报