JS常用对象 | 青训营笔记

39 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第12天

Array

元素可以是任何数据类型,相当于python的列表

  • 函数实现:new Array();

  • 常用操作:

    • .length:返回长度

    • .push(新元素)/pop():在结尾处增/删元素

    • .unshift(新元素)/shift():在开头处/增删元素

    • .splice(x, y[, i1, i2]):从索引x开始(包括索引x)删除y个元素,并在索引处添加元素i1和i2,返回删除的元素,y可为0 (此时为插入操作)

    • .concat(另一数组):连接两数组,返回新数组

    • .join(字符):用字符将数组连接起来后返回字符串,若有元素不是字符串类型会自动转换,和python的join参数位置是反的

    • .sort()/reverse():升序排序/翻转 (直接对原数组操作,且返回操作后的数组)

      • 无参的sort()会先将元素转为字符串再排序,sort参数可为函数
      • 数字升序排序:arr.sort(function(a,b){return a-b});
    • .indexOf(元素):搜索元素位置返回索引,失败返回-1

    • .slice([索引1,索引2]):返回索引区间子数组,左闭右开,相当于python的切片操作

  • 高阶函数:下列 的函数名可换成用function现写的函数

    • .map(函数):对arr的每个元素执行函数,返回数组
    • .filter(函数):对arr的每个元素执行函数,为真则保留,返回数组
    • .reduce(函数):使用函数对数组某元素和其下个元素做累加计算,返回计算结果。函数必须包含两个参数

Math

  • .max/min(n1,n2...):返回传入数字中的最大/最小值

    • 返回数组中的最大/最小值:.max/min.apply(null, [n1,n2...])
  • .round/ceil/floor(num):返回将num四舍五入、向上/下取整后的数字

  • .abs(num):返回num绝对值

  • .random():返回[0,1)中的随机数

    • 返回[n,m)中的随机整数:Math.floor(Math.random()*(m-n)+n)

Date

  • 函数实现:new Date(年,月,日,时,分,秒); or new Date("年 月 日 时 分 秒");

    • 无参返回结构化的本地时间
    • 月份/星期都从0开始
  • 设置时间:setXXX()

    • setDate()setHours()
  • 获取时间:将set改为get