【重学JS】坚持学习,巩固基础-day8-字符串&排序

455 阅读2分钟

这是我参与8月更文挑战的第8天,活动详情查看:8月更文挑战

☆☆☆ 今天的内容(排序 & 字符串方法)也比较重要, 也是工作中常用的知识点! ☆☆☆

持续更新, 可作为初学者的学习路线, 可参考一下, 学习进度也不是特别赶!

用自己的理解, 简单又全面概括基础知识点, 大部分内容为白话文内容, 基础中的基础 方便加深理解!

巩固学习 JavaScript 基础知识, 加深理解记忆, 打牢地基才能筑高楼! 加油

如需更详细了解学习- 推荐查看 MDN-JavaScript 文档, (红宝书/白皮书/蓝皮书/..)进行学习进阶!

更多阅读: 前文更新回顾

【重学 JS】每天学习巩固基础: 【day1】

【day2】【day3】【day4】【day5】【day6】【day7】

☆☆☆ 今天的内容也比较重要, 也是工作中常用的知识点! ☆☆☆

开始今天的学习吧! 认真对待!!

1、梳理昨天学习知识点

  • 对象 :  {  }

  • 构造函数 : new Array()   new Object()  new Function()

  • 数组定义 :

    • 定义  :   arr = [  ]       new Array()

    • 遍历(循环)数组 : for   for...in

    • 数组操作方法 :

      shift()   unshift()   pop()    push()   splice()      slice()  join()   concat()   reverse()

  • 值传递和地址传递

  • 栈和堆

2、冒泡排序  

原理 :相邻的两个数进行比较   大数下沉   小数上浮

3、选择排序

原理:

每一轮比较时,都通过一个基准值和数组后面的每一个数做比较   如果基准值 > 数组后面的每一个数 就交换

基准值变化 : arr[0]----arr[arr.length-2]

4、sort 排序

sort 方法默认是按照字符的编码值进行排序   数组.sort()

如何按照数值排序??--为 sort 方法提供一个参数,参数是一个匿名函数 数组.sort(function(a,b){     return 数值;   如果 return  a-b;升序 a-b>0       如果 return b-a;降序    a-b<0 })

sort 实现随机排序  : 原理     参数匿名函数 的 return 返回值 可能是整数 也有可能是负数       数组.sort(function(){           return Math.random()-0.5;        })

5、数组新增方法

  • forEach(匿名函数)

    遍历   没有返回值

  arr.forEach(function(item,index,array){
    item   表示数组中的数据
        index 表示下标
       array 表示遍历的数组
  })
  • indexOf()

    判断一个数在数组中是否存在,

    如果存在 返回这个数在数组中的下标,如果不存在就返回-1

数组.indexOf(num)
  • filter()   过滤

    根据过滤条件返回一个新数组

arr.filter(function (item, index, array) {})
  • map()   映射

    遍历数组---修改数组---返回数组

arr.map(function (item, index, array) {})
  • reduce()   归并
  arr.reduce(function(pre,next){
      pre 表示上一次操作返回的结果
      next 表示 下一个数
  })

6、内置对象  

Array String Math Date   正则

6.1 字符串对象  String 构造函数

var str = new String('hh')
var str = ''

获取字符长度 :  .length

6.2 字符串的操作方法 :

  • charAt(index)   返回某个位置处的字符

  • charCodeAt()   返回某个位置处的字符的 ASCII 码值

  • String.fromCharCode(ascII 码值) 根据字符的 ascII 码值   得到对应的字符

  • indexOf(子串) 查找某个子字符串在原字符串中首次出现的位置   如果不存在返回 -1

  • lastIndexOf()   最后一次出现的位置

  • substr(start,length)  length 可以省略   截取从开始位置   指定长度的字符   如果- 长度不指定,默认截取到最后

  • substring(start,end)   截取从开始位置 到结束位置处的字符,但不包括结束位置处的字符

  • split()   将字符串转成数组       将数组转成字符串 join

  • replace(原字符串,新字符串)   返回 替换后的新字符串   默认情况下 只能替换一个   如果替换多个,需要使用正则

  • toLowerCase()   大写转小写     toUpperCase()小写转大写

"adfDDD".toLowerCase()   --->  "adfddd"

  • trim()   去掉字符串两端空白字符

"  hello  world  ".trim()  --->  "hello  world"

str = "  hello  world   ";
str.trim()   "hello  world"

全局替换 ( 全部快速替换 ) str.split(“内容”).join(“内容”);

    function fn( ){
      // split() join()
      var str = “你好 nm,祝你幸福 nm,nm 再见 nm”;

      /** var arr = str.split(“nm”);
      str = arr.join( “” );
      alert(str);
      */

      str = str.split( “nm” ).join(“”);
      alert();
    }
    fn();

加油, 追梦人

明天继续学习重要知识点: 函数实现相关功能

学习就是一个不断进行的过程, 坚持下去, 定有收获!

日积月累, 巩固基础, 早进大厂!!

坚持很不容易, 坚持下来更不容易

Calm Down & Carry On!