• JS数组练习


    1. 随机生成一个五位以内的数,然后输出该数共有多少位,每位分别是什么

     1     <script>
     2         //拿到随机的五位数
     3         var  num = parseInt(Math.random() * 100000)  
     4         // 分别拿到每一位数
     5         var a=parseInt(num/10000)
     6         var b=parseInt(num%10000/1000)
     7         var c=parseInt(num%1000/100)
     8         var d=parseInt(num%100/10)
     9         var e=num%10
    10         // 把拿到的每一项数字 放到一个数组里面
    11         var arr=[a,b,c,d,e]
    12         for(var x=0;x<arr.length;x++){
    13         // 从 第 0 项开始判断   如果是 0 就把这一项删除   如果不是 0 直接输出
    14             if(arr[x]===0){
    15                 arr.shift()
    16                 x--
    17             }else{
    18                 break
    19             }
    20         }
    21         //转换为字符串
    22         var res=arr.join()
    23         document.write("一共有"+arr.length+"位"+"每一位分别是"+res)
    24     </script>
    2. 编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组
     1         var arr = [10, 100, 1000]
     2         function map() {
     3             var brr=[]
     4             //遍历数组
     5             for(cc in arr){
     6                 //给空数组插入arr里面的值
     7                 brr.push(arr[cc]*1.3)
     8             }
     9             //返回新数组的值
    10             return brr
    11         }
    12 
    13         console.log(map(arr)) // [13, 130, 1300]
    3. 编写函数has(arr , 60) 判断数组中是否存在60这个元素,返回布尔类型
    方法一: 
            var arr=[10,20,30,40,50,80]
            function has(arr,b){
                //通过indexof检查有没有传入的数据(值-1就说明没有)
                // 通过三元表达式判断,结果为false执行ture
                return arr.indexOf(b) === -1 ? false : true  
            }
    
            console.log(has(arr,50))//ture

    方法二

     1         var arr=[10,20,30,40,50,80]
     2         function has(arr,b){
     3             //先声明一个变量,假设值位false
     4             var hello=false
     5             //遍历数组
     6             for(w in arr){
     7                 //判断数组中的每一个值是否与传入的值相等
     8                 if(arr[w]==b){
     9                  hello=true 
    10                 }
    11             }
    12             return hello
    13         }
    14 
    15         console.log(has(arr,80))//true
    4. 编写函数norepeat(arr) 将数组的重复元素去掉,并返回新的数组
     1         var arr = [1, 1, 2, 3, 4, 4, 2, 1, 3, 5]
     2         function norepeat(arr) {
     3             var bbc = []
     4             //赋值给新数组
     5             for (var a = 0; a < arr.length; a++) {
     6                 bbc[a] = arr[a]    
     7             }
     8             //排序数组
     9             bbc.sort(function(w,e){return w - e })
    10             console.log(bbc)
    11             //两个相邻的进行比较 有重复的就删掉
    12             for(var k=0;k<bbc.length;k++){
    13                 if(bbc[k]===bbc[k+1]){
    14                         bbc.splice(k,1)
    15                         k--
    16                 }
    17             }
    18             return bbc
    19         }
    20             var ff=norepeat(arr)
    5.有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
     1         //先插入这个数
     2         //sort 排序
     3
     4         function crr(n){
     5             arr=[1,2,3,4,5,7,9]
     6             arr.push(n)
     7             //return 返回arr的值
     8             return arr.sort(function(a,b){return a-b})
     9             
    10         }
    11         var kk=crr(2)
  • 相关阅读:
    Jquery中addClass方法不起作用的解决方案
    JavaScript 下拉框 左边添加至右边
    电商网站常用放大镜特效
    jQuery 移除事件与模拟事件
    考勤管理系统V1.0.3
    js 严格模式
    service workder
    本地存储之application cache和localstorage
    Node.js内置的文件系统模块(fs)
    Node.js:OS模块
  • 原文地址:https://www.cnblogs.com/llive/p/12974971.html
Copyright © 2020-2023  润新知