数组类题
// 1.定义一个 含有30个整型元素的数组,按顺序分别赋予从2开始的 偶数;然后按顺序每五 个数求出一个平均值,放在另一个数组中并输出。试编程
1 var arr = []; 2 var sum = 0; 3 var count = []; 4 5 for (var i = 1; i <= 30; i++) { 6 arr.push(i * 2); 7 sum += i * 2; 8 9 if (i % 5 == 0) { 10 var aver = sum / 5; 11 count.push(aver); 12 sum = 0; 13 } 14 } 15 16 console.log(count);
// 2.编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组
1 var arr = [10,20,30,40]; 2 var newArr = []; 3 function fn(arr){ 4 for(var i = 0; i < arr.length; i++){ 5 newArr.push(arr[i] * (1 + 0.3)); 6 } 7 return newArr; 8 } 9 10 fn(arr); 11 console.log(arr); 12 console.log(newArr);
// 3.有一个从小到大排好序的数组。现输 入一个数,要求按原来的规律 将它插入数组中。
1 var arr = [1,3,6,8]; 2 function fn(m){ 3 if(m > arr[arr.length - 1]){ // 与数组中最后一个数据进行比较,比它大直接放在最后面 4 arr.push(m); 5 return arr; 6 }else{ // 与数组中的数据一一比较 7 for(var i = 0; i < arr.length; i++){ 8 if(m < arr[i]){ 9 arr.splice(i,0,m); 10 break; 11 } 12 } 13 return arr; 14 } 15 }; 16 fn(2); 17 console.log(arr);
// 4.通过循环按执行顺序,做一个5×5的二维数组,赋1到25的自然数,然后输出该数组的左下半三角 。试编程 。
1 var bigArr = []; 2 var count = 0; 3 for(var i = 0; i < 5; i++){ 4 var sArr = []; 5 for(var j = 0; j < 5; j++){ 6 count++; 7 sArr.push(count); 8 } 9 bigArr.push(sArr); 10 }; 11 console.log(bigArr); 12 13 for(var i=0;i<bigArr.length;i++){ 14 for(var j=0;j<=i;j++){ 15 document.write(bigArr[i][j] + " "); 16 } 17 document.write("<br>"); 18 };
// 5.编写函数norepeat(arr) 将数组的重复元素去掉,并返回新的数组
1 var arr= [1,1,2,4,5,7,8,4,4,3,3,0]; 2 var newArr = []; 3 function norepeat(arr){ 4 for(var i = 0; i < arr.length; i++){ 5 if(newArr.indexOf(arr[i]) == -1){ 6 newArr.push(arr[i]); 7 } 8 } 9 return newArr; 10 } 11 console.log(norepeat(arr)); 12 console.log(arr);

浙公网安备 33010602011771号