字符串常用方法

  • 合并 除了+号,concat()才是正经的合并字符串的方法
  • 复制 repeat(n)
  • 查找
  1. indexOf() 从头向尾,从左向右,找到第一个匹配的字符串,找不到返回-1
  2. lastindexOf() 取最后一个匹配字符串下标,从左向右
  • 删除和修改
  1. replace(target,value) 只能修改匹配到的第一个
  2. relpaceAll(target,value) 修改匹配到的所有的字符
  • 切割
  1. split('条件'),根据条件进行切割
  • 转数组
  1. split('')传入一个空字符串转成数组
  • 截取
  1. slice('开始的下标','结束的下标')根据下标进行截取

数组方法

  1. 合并
  • concat() 可以合并多个数组,不会修改原始数组,会返回一个新数组
  1. 查找
  • indexOf() 等价于字符串同等方法
  • lastindexOf() 等价于字符串同等方法
  1. 去重
    新创建一个空数组,遍历目标数组,在for中使用新数组indexOf判断包含目标数组的当前项,如果返回-1则把当前项插入到新数组中,如果返回不是-1说明新数组中已经有相同内容,则不插入,最后新数字的每一项都是不同的,从而实现了数组的去重】
  2. 删除
  • delete 关键字可以删除某一项元素
  • splice(位置下标,删除长度)删除指定位置的长度
  • splice(第几位,0,...插入的值)指定位置的后面插入元素,个数不限
  1. 创建数组
  • var arr = [] 字面量形式
  • var arr = new Array() 实例化数组
  1. 其他的ES5里的数组方法
  • push 尾部添加,返回新数组的长度,修改原始数据
  • pop 尾部删除,并返回删除掉的元素,改变原始数据
  • shift 从头部删除元素
  • unshift 向头部添加元素
  • for 在所有的循环遍历中,只有for是执行最快的。
  • 终止循环 break
  • 跳过本次循环,进入下一次循环 continue
  • forEach 它没有返回值但是可以使用return来终止循环
  • sort 正序排序
  • reverse 倒序排序
  • some 只要有一个复合就返回true
  • every 必须每一个都符合才返回true,只要有一个不符合就返回false
  1. 数组转字符串
  • join('') 如果需要转成的字符串有符号连接,可以join('符号')
  1. 数组转对象
  • 遍历,然后把每一项放在对象里去

对象

  1. 合并对象 遍历对象,把对象的属性名和属性值依次按顺序赋给一个新对象。 Object.assign【ES6】
  2. 其他
  • Object.defineProperty 监听对象属性发生改变的方法,也是vue2额数据双向响应的底层原理
  • toString 转成字符串
  • ofValue 转成字符串

递归

  1. 函数自我调用
  2. 递归的三大条件:
  • 数据结构必须是一致的
  • 必须要有结束的判断
  • 数据的嵌套层级不固定