资讯专栏INFORMATION COLUMN

JS-常用数组API、对象API与日期、随机数

BenCHou / 1358人阅读

摘要:数组遍历所有元素参数顺序规定遍历数组所有元素判断所有元素是否都符合条件注意参数顺序用来判断所有的数组元素都满足一个条件都符合,否则判断是否至少有一个元素符合条件注意参数顺序用来判断所有的数组元素只要有一个满足条件即可排序从小到大排序从大

1.数组API

(1) forEach 遍历所有元素

   var arr = [1,2,3]
   arr.forEach(function( item,index ){ //参数顺序规定 item , index
       console.log(index,item) //遍历数组所有元素
   })
   
(2) every 判断所有元素是否都符合条件

    var arr = [1,2,3]
    var result = arr.every(function( item,index ){ //注意参数顺序
        if( item < 4 ){ //用来判断所有的数组元素都满足一个条件
            return true;
        }
    })
    console.log(result) //true 都符合,否则false
    
(3) some 判断是否至少有一个元素符合条件

    var arr = [1,2,3]
    var result = arr.some(function( item,index ){ //注意参数顺序
        if( item < 2 ){ //用来判断所有的数组元素,只要有一个满足条件即可
            return true;
        }
    })
    console.log(result) //true 

(4) sort 排序
    var arr = [1,4,2,3,5]
    var arr2 = arr.sort(function (a, b){
        // return a - b //从小到大排序
        return b - a //从大到小排序
    })
    console.log(arr2) //[5,4,3,2,1]

(5) map 对元素重新组装,生成新数组
    var arr = [1,2]
    var arr2 = arr.map(function (item, index){ //注意参数顺序
        return ""+ item + "" //将数组元素重新封装并返回
    })
    console.log(arr2) //["1","2"]

(6)filter 过滤符合条件的元素
   var arr = [1,2,3]
   var arr2 = arr.filter(function (item, index){  
       if( item >= 2){     //通过某一个条件过滤数组 //注意参数顺序
           return  true
       }
   })
   console.log(arr2) //[2,3]

2.对象API

var obj = {a:10,b:20,c:30}
var key
for (key in obj){
    if(obj.hasOwnProperty(key)){
        console.log(key,obj[key])
    }
}

3.日期

(1) Date.now() //获取当前时间毫秒数

(2)var d = new Date() 
   dt.getTime() //获取当前时间毫秒数

4.Math

Math.random()常用于清除缓存(例:频繁访问一个链接会有缓存,链接后面加random,每次访问都会变,随时改变清除缓存)

相关问题:

(1) 获取 2018-05-18 格式的日期:
    function date(dt){
        if(!dt){
            dt = new Date() //获取当前时间戳
        }
        var year = dt.getFullYear()
        var month = dt.getMonth() + 1
        var date = dt.getDate()
        if(month < 10){
            month = "0" + month //强制类型转换
        }
        if(date < 10){
            date = "0" + date
        }
        return year + "-" + month + "-" + date
    }
    var d = new Date()
    var formatDate = date( d )

(2) 获取随机数,要求时长度一致的字符串格式:

    var random = Math.random()
    random = random + "0000000000" //后面加上10个0 (假如slice(0,4)也不会报错)
    random = random.slice(0,10) //slice相当于复制,复制出一个新数组,不改变原数组

(3)写一个能遍历对象和数组的通用forEach函数 
   function forEach(obj, fn ){
       var key
       if (obj instanceof Array){ //判断是不是数组
           obj.forEach(function(item, index){
               fn(index ,item )
           })
       }else {
           for(key in obj){
               if(obj.hasOwnProperty(key)){
                   fn(key,obj[key])
               }
           }
       }
   }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/95110.html

相关文章

  • 前端面试之路二(javaScript基础整理)

    摘要:在标签中添加属性,本质上是跟在标签里面写属性时一样的,所以属性值最终都会编译为字符串类型。这个节点包括很多,比如,以及一些方法等方法。一个对象有很多,该集合名字为,里面有其他以及,里面有很多。 一、变量类型和计算 JS中使用typeof能得到哪些类型 变量类型 值类型:变量本身就是含有赋予给它的数值的,它的变量本身及保存的数据都存储在栈的内存块当中 引用类型:引用类型当然是分配到...

    AbnerMing 评论0 收藏0
  • 前端知识点总结——JS高级(持续更新中)

    摘要:前端知识点总结高级持续更新中字符串什么是连续存储多个字符的字符数组相同下标遍历选取不同类型不同不通用所有字符串都无权修改原字符串,总是返回新字符串大小写转换统一转大写统一转小写何时不区分大小写时,都需要先转为一致的大小写,再比较。 前端知识点总结——JS高级(持续更新中) 1.字符串 什么是: 连续存储多个字符的字符数组 相同: 1. 下标 2. .length 3. 遍历 4....

    wangzy2019 评论0 收藏0
  • java常见类API第二部分

    摘要:类是日期时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换也就是可以在对象与对象之间进行来回转换。构造方法由于为抽象类,不能直接使用,所以需要常用的子类。 day01【Object类、常用API】 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 教学目标 -[ ] 能够说出...

    maybe_009 评论0 收藏0
  • 前端

    摘要:原理判断左边的左操作数的对象的原型链上是否有右边这个构造函数的属性。每个对象都有属性,但只有函数对象才有属性在默认情况下,所有的原型对象都会自动获得一个构造函数属性,这个属性是一个指针指向属性所在的函数原型对象是构造函数的一个实例。 JS JavaScript深入浅出 链接描述 数据类型 JS变量按照存储方式区分为值类型和引用类型,并描述其特点?js值类型和引用类型的区别 值类型...

    WilsonLiu95 评论0 收藏0
  • 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    摘要:在数组中循环使用将数组的第一个元素除去直到函数的返回值为。使用匿名内部函数范围来声明未定义的内存空间使用闭包来存储返回值。返回顶部从数组中移除给定函数返回的元素使用查找返回值的数组元素和以使用删除元素。使用执行从右向左的函数组合。 showImg(https://segmentfault.com/img/bV0PXR?w=400&h=80); Util.js (持续更新中...) ...

    ivyzhang 评论0 收藏0

发表评论

0条评论

BenCHou

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<