• API


    只读:只能读取属性不能修改

    数组常见api(10)

    pop() 删除并返回数组的最后一个元素。

    push()向数组的末尾添加一个或者多个元素,返回新的长度

    shift ()删除并返回数组的第一个元素。

    unshift ()向数组的开头添加一个或者多个元素,返回新的长度

    slice () 从某个已有的数组返回选定的元素。

    arr.slice(1,3) 选定的是索引1和2,不包含3 只读

    arr当中按照指定的索引截取子数组,索引含头不含尾,不会修改原数组,而是返回一个新数组

    arr.slice(2) slice方法只传一个参数,意思就是截取到末尾

    arr.slice(-2, -1) slice传递负数,负数代表到数第几个 从倒数第二个数到倒数第一个,含头不含尾。

    splice() 删除元素,并向数组添加新元素

    向数组删除元素 ,添加元素 ,替换元素。

    arr.splice(2) 一个参数 ,把从下标为2开始的后面的数据都删掉,包括2;

    arr.splice(2,3) 两个参数 ,从2开始,删除3个数,删除元素里包含开始索引的,包含2;

    arr.splice(2, 2, 10, 20, 30) 从第三个参数开始后面可以传任意多个参数,都是替换的值 。

    arr.splice(6, 0, 20) 可以把第二个参数写成0,就是添加,可以在任意位置添加元素 注意:在索引为6之前添加的

     var arr = [1,2,3,4,5];
           var res = arr.splice(0,3,5,2,4,2,5)
           console.log(res);    //1,2,3    

    删除返回删除的值

    sort()对数组的元素进行排序

    a-b 升序 b-a 降序

    join() 把数组转换成字符串;元素通过制定的分隔符进行分隔。不会修改原数组

    concat() 连接两个或更多的数组,返回结果;

    并不会修改原数组,得到一个新数组只读

    reverse()颠倒数组中元素的顺序。


     

    ES5-api新增数组常见方法

    2个索引方法:indexOf() 和 lastIndexOf(); 只读

    arr.indexOf(2,[3]) 从arr当中[索引为3开始]去找2的索引,如果数组里有多个2,得到的是第一次出现的索引,如果值不存在,那么得到-1

    arr.lastIndexOf(2) 从arr当中去找2的索引,如果数组里有多个2,得到的是最后一次出现的索引, 如果值不存在,那么得到-1

    5个迭代方法:forEach()、map()、filter()、some()、every();

      arr.forEach(function (item, index,arr) {
        // item是值,index是索引,arr是数组本身
        console.log(item, index,arr)
      })

    map也是用来遍历数组,遍历的同时需要给一个返回值所有的返回值会放进一个新的数组,每一次都要写返回值,否则新的数组里会有undefined

    var arr1 = arr.map(function (item ,index,arr) {
         // item是值,index是索引,arr是原数组
         console.log(item, index,arr)
         return item*2
      })
       
       
         var arr2 = arr.map(function (item, index) {
         if (index%2) {
           return item * (1+0.3)
        }
         return item
      })

    fliter 过滤每一次遍历的时候都要返回一个条件(布尔值),当这个条件得结果为true的时候,当前值就会被保留,否则就被过滤掉,最终用一个新的数组来存结果 ,如果不写return,默认返回值是undefined,会隐式转换为false,相当于每次都返回的false

     var arr1 = arr.filter(function (item, index) {
         console.log(item, index)
         return item > 4
      })

    some的最终结果是一个布尔值,每一次遍历的时候返回一个条件,只要在遍历过程中有一条数据满足条件(在所有的返回值当中只要有一个true就是true),整个some的结果就是true,在遍历的过程中只要发现了一个true就停止遍历

    var is = arr.some(function (item, index) {
            console.log(item, index)
            return item > 10
          })

    every 必须每一次遍历返回的条件都是true,结果才为true,否则就是false(遍历过程中只要有一个是false就是false),every的最终结果为布尔值,只要任意一个不满足条件,遍历就结束,最终得到false

     var is = arr.every(function (item, index) {
         console.log(item, index)
         return item % 2 === 0
      })

    2个归并方法:reduce()、reduceRight();

    注意:function后加逗号加值,这个值可以是任意的,不会影响索引的值,只要加了就会从默认的1变为0,则curr也就会从下标为0开始,遍历全部;

    这个值修饰的是res,值是多少,res的第一个值就是多少,不加值的话,res默认为arr[1]

    reduce有两个参数,第一个参数是函数,第二个参数可选的默认值,在后面写上一个默认值,循环次数就跟数组长度相等,res默认值就是1,curr从arr[0]开始

    var arr = [3,5,2,6,2]
    var sum = arr.reduce(function (res, curr, index) {
         console.log(res, curr, index)  //1 3 0
         return res *curr
      }, 1)

    reduce是从左往右归并,reduceRight从右往左

    var arr = [
        [1,2,3],
        [4,5,6],
        [7,8,9]
      ]
        var arr1 = arr.reduceRight(function (res, curr) {
         return res.concat(curr)
      }, [])

       console.log(arr1) // [7,8,9,4,5,6,1,2,3]

     

    字符串 不常用api

    字符串的比较规则: 按照unicode 码进行比较的 (优先比较首字符的unicode)

    charCodeAt()返回在指定的位置的字符的 Unicode 编码。

    fromCharCode()从字符编码创建一个字符串。

     var str = 'hello string'
    // 返回str[1]字符的编码,字母e的编码是101
    console.log(str.charCodeAt(1)) // 101 //str
    // 传一个编码,得到字符
    console.log(String.fromCharCode(102)) // f //String

    encodeURI(str) 字符串转换 decodeURI(code) 字节转换

    console.log(encodeURI('张宇'));//%E5%BC%A0%E5%AE%87
    console.log(decodeURI('%E5%BC%A0%E5%AE%87'));//张宇

     

    字符串常见API

    不常见 replace 不修改原数组 只读

    字符串可以理解为,只要是只读的数组中拥有的属性和方法,字符串都是可以用的 字符串可以有lenth 可以通过下标[]访问 (for循环)slice......

    字符串特有的api

    str.charAt(下标) 字符串对应下标的字符。

    String.fromCharCode() 传入指定的unicode编码返回这个 unicode 所对应的字符

    Remember

    str.charAt(下标) 字符串对应下标的字符。

    indexOf() 检索字符串,返回下标。 查找字符串第一次出现的位置 第二个参数 从第几个开始找 ,找到返回下标,找不到返回-1

    lastIndexOf()从后向前搜索字符串。 查找字符串最后一次出现的位置,找到返回下标,找不到返回-1

    substring(starti[,endi+1]) 截取子字符串 不修改原数组 只读

    substr(starti[,n]) starti从哪开始截取 n 截取几个 只读 不修改原数组

     var str = 'szykadkaabsj'
          console.log(str.substring(1,3));//zy
          console.log(str.substr(1,2));//zy

    split("切割符") 把字符串分割为字符串数组 切割符:以什么为界限 切割 不修改原数组 只读

          var str = 'hello world';
         var arr = str.split(); // "hello world"
         var arr1 = str.split(' ');// "hello", "world"
         var arr2 = str.split('') // "h", "e", "l", "l", "o", " ", "w", "o", "r", "l", "d"

    toUpperCase() 把字符串转换为大写。 str.toUpperCase() toLowerCase() 把字符串转换为小写。 str.toLowerCase()

    slice()提取字符串的片断,并在新的字符串中返回被提取的部分。

    var str1 = str.slice(2, 5) 含头不含尾


     

    Math常用api

    Math.random() 随机产生[0,1) 一个数字

    固定套路 随机产生 min 和 max 之间的随机整数 Math.floor(Math.random()*(max-min)+min);

    Math.floor(num) 向下取整

    Math.ceil(num) 向上取整

    Math.round(num) 把数四舍五入为最接近的整数。

    Math.PI π的值

      console.log(Math.PI)   //3.14159265541612
    //Math对象上的属性都是常量,不是变量,不能被修改
    Math.PI = 3.14
       console.log(Math.PI)  //3.1415926542641641

       var myPI = Math.PI.toFixed(3)  
       console.log(myPI)    //3.142

    Math.abs(num) 绝对值

    Math.max(num1,num2,num3...) 取最大值 Math.min(num1,num2,num3) 取最小值 Math.pow(a,n) a是底数 n 指数 Math.sqrt(n); 开平方


     

    日期对象

    日期对象创建 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数(时间戳

    var date = new Date(); //默认是 系统 的当前日期

    创建自定义的日期

    var date1 = new Date(2008, 2, 1, 8, 2, 3) //2008年 3月1号8点2分3秒

    时间戳 1970年1月1日至今的毫秒数 日期对象. var date = new Date(时间戳)

    Date.now() 获取当前系统时间的时间戳 console.log(Date.now());

    日期对象的 api toString() 将日期对象转换成字符串 toLocaleString() 将日期对象 转换 成 当地日期格式的字符串 toLocaleDateString() 将日期对象 转换 成 当地日期格式的字符串 只保留日期 没有时间 toLocaleTimeString() 将日期对象 转换 成 当地日期格式的字符串 只保留时间 没有日期 getTime() 获取日期对象 的时间戳

    以下用的比较多

    get系列API

    getFullYear() 返回年

    getMonth()返回月份0--11

    getDate()返回某一天

    getDay()返回星期0-6

    getHours()返回小时

    getMinutes()返回分钟

    getSeconds()返回秒

    getMilliseconds() 获取当前日期的毫秒(一般用不到)1秒===1000毫秒

    set系列API

    setFullYear()设置年份

    setMonth()设置月

    setDate()设置天

    setHours()设置小时

    setMinutes()设置分钟

    setSeconds()设置秒

    setTime()使用毫秒的形式设置时间对象

    date: 可选,表示月中某一天的数值。如果不填,取系统当日 用本地时间表示。介于 1 ~ 31 之间: 0 为上个月最后一天 -1 为上个月最后一天之前的天数 如果当月有31天:32 为下个月的第一天 如果当月有30天: 32 为下一个月的第二天

    例:现在时间:13:11:43 var date = new Date(2012, 2, 15, 13, 11, 43);2012年3月15日 13:11:43

    date.setFullYear(2013, 5);2013年6月15日 13:11:43

    date.setFullYear(2012, 20, 5);2013年9月5日 13:11:43

  • 相关阅读:
    机器学习第二次作业
    机器学习上机作业
    机器学习第一次作业
    软工实践个人总结
    第08组 Beta版本演示
    第08组 Beta冲刺(5/5)
    第08组 Beta冲刺(4/5)
    第08组 Beta冲刺(3/5)
    第08组 Beta冲刺(2/5)
    第08组 Beta冲刺(1/5)
  • 原文地址:https://www.cnblogs.com/lilamisu/p/13050244.html
Copyright © 2020-2023  润新知