首页 > 代码库 > js练习题

js练习题

// 1. 创建一个数组名字叫mathArray,里面放入0-200所有能被5整除的数;
// var mathArray=[];
// for(let i=0;i<=200;i++){
//  if(i%5===0){
//     mathArray.push(i);
//  }
 
// }
// console.log(mathArray);

 


// 2. numArr = [9,10,12,20,39,6,7,92,100,77]。
  
// 或者使用刚才创建的mathArray,计算出数组里所有值的总和,并输出。
// var numArr = [9,10,12,20,39,6,7,92,100,77];
// var temp=0;
// for(let i of numArr){
//  temp+=i;
// }
// console.log(temp);

// 3. 将一组无序数字有序排列 arr = [5,7,8,1,3,6,4];
// var arr = [5,7,8,1,3,6,4];
// var temp1=0;
// for(let i=0;i<arr.length-1;i++){
//  for(let j=i+1;j<arr.length;j++){
//   if(arr[i]<arr[j]){
//    temp=arr[j];
//    arr[j]=arr[i];
//    arr[i]=temp;
//   }
//  }
// }
// console.log(arr);
// 4. 有一个长度为10的数组 arr = [12,52,64,33,10,32,53,88,2,90]。
//    根据用户输入的下标将该元素放在数组的最后,并置为0;
// var arr1 = [12,52,64,33,10,32,53,88,2,90];
// var i=~~prompt("请输入下标(0-9)");
// arr[i]=0;
// for(let j=i;j<arr.length-1;j++){
//   temp=arr[j];
//      arr[j]=arr[j+1];
//        arr[j+1]=temp;
// }
// console.log(arr);
// 5. 创建一个数组,arr
//    弹出prompt()框让用户输入数字,每输入1个,放入arr内。直到用户输入0为止
//    输入0结束以后,要求删除arr内所有的奇数,
//    然后计算出剩下数的总和
// var arr=[];
// var temp3=0;
// console.log(arr);
// while(true){
//  var i=~~prompt("请输入数字");
//     arr.push(i);
//     if(i===0){
//      break;
//     }
// }

 


// for(let i=0;i<arr.length;i++){
//  if(arr[i] % 2!==0){
//   arr.splice(i,1);
  /*i--的目的在于for循环,i代表下标,删除了为0的下标,后面一个数会补上来*/
//   i--;
//  } else{
//         temp3+=arr[i];
//  }
// }
// console.log(temp3);
// 6. 输入一个5位数,如果不是5位数或者不是数字,则提醒用户非法输入,让他重新输入
//    直到这个数为正确的5位数为止。
//    如果数字正确,则检测是否为五角星数
//    如果是五角星数(5位水仙花数)打印此数是五角星数,否则打印不是五角星数
// var flag=true;
// do{
//  var str = prompt("请输入一个五位数");
//  var num = Number(str);
//  if(str.length !== 5 || isNaN(num)){
//   console.log("非法输入");
//  } else{
//   flag = false;
//  }
// } while(flag);

// var s=0;
// function isFlower(five){
//  for(let item of five){
//   s += item * item * item * item * item;
//  }
//  if(s == five){
//   console.log(five + "是水仙花数");
//  }
// }
// isFlower("92727");

// 7. 新建一个数组,里面放入0-100
//   放入完毕以后,删除其中20-40,最后打印
//   (也就是删完以后,打印18,19,41,42,43...)
// var newarr = [];
// var i=0;
// do{
//   newarr.push(i);
//   i++;       
    
// } while(i<100)
// newarr.splice(20,21);
// console.log(newarr.slice(19,100));

 

// 8. 数组剔重。arr = [1, 2, 2, 3, 4, 5, 5, 6, 6, 7, 8];
// 方法1
var arr = [1, 2, 2, 3, 4, 5, 5, 6, 6, 7, 8];
// for(let i=0;i<arr.length-1;i++){
//  for(let j=i+1;j<arr.length;j++){
//   if(arr[i]==arr[j]){
//    arr.splice(j,1);
//    i--;
//   }
//  }
// }
// console.log(arr);
// 方法2
// continue取名打断指定循环
var newArr=[];
outer:for(let i=0;i<arr.length;i++){
 for(let j=0;j<newArr.length;j++){
  if(arr[i]==newArr[j]){
           continue outer;
  }
 }
 newArr.push(arr[i]);
}
console.log(newArr);

js练习题