JS 方法 2

字符串方法

1 简单方法 (注意: 字符串方法不会改变自身)
-------------------------------------------------------------------------------------------
  1 编码: escape('?!=()#%&');   //%3F%21%3D%28%29%23%25%26 
  2 解码: unescape( escape('?!=()#%&') );   //?!=()#%&

  3 长度: str.length   //空格也算一个子符
  
  4 字符串转数组: str.split(",")    // 指定逗号为分隔符, 分割为数组元素 
        
  5 去空格: str.trim();   //去除字符串俩边的所有空格
  
  6 字母小写 -- str.toLowerCase();
  7 字母大写 -- str.toUpperCase();
  
  8 替换字符 -- str.replace("a", "b");    // 字符b取代a -- 只会取代从左往右第一个a  
-------------------------------------------------------------------------------------------

2 常用方法
-------------------------------------------------------------------------------------------
  1 根据索引返回对应的字符
    1 str.charAt(i) 
    2 str[i]
    3 str.charCodeAt(i)   //返回对应字符的 Unicode 编码

  2 查找一个字符串中是否存在某个字符
    1 str.indexOf("X")     返回从左往右第一个字符的索引 -- 找不到返回 -1
    2 str.lastIndexOf("X")     从右往左找
    3 str.search('x')     等效于str.indexOf()

  3 获取字符串指定区间的字符
    1 var hh = str.slice(index1,index2);    //[index1 index2) 区间的字符串 ~
    2 var hh = str.substr(index);     //[index开始 + 后面所有 ~~
    3 var hh = str.substr(index, num);    //[index开始  个数] 的字符串内容
    4 var hh = str.substring(index);    //[index开始 + 后面所有 ~~
    5 var hh = str.substring(index1, index2);    //[index1 index2) 区间的字符串 ~
-------------------------------------------------------------------------------------------

数组方法

1 会改变原数组的方法
-------------------------------------------------------------------------------------------
1 添加数组元素 -> 数组的开头或结尾添加1或多个数组元素
    1 开头: arr.unshift(77)
    2 结尾: arr.push(4,5,6) 

2 删除数组元素 -> 删除开头或结尾的1个数组元素
    1 开头: arr.shift() 
    2 结尾: arr.pop()

3 数组元素的 - 删除 - 插入 替换等操作 (替换用的少)
    1 arr.splice(2)     删除 [index 开始 - 到后面的所有数组元素
    2 arr.splice(1, 3)     删除 [index开始 以及往后的 2个数组元素 -33 arr.splice(1, 0, 6)    在索引1的位置 - 插入数组元素 6; 0 的位置可以控制在插入前是否删除元素
    4 arr.splice(1, 3 , 7, 8, 9)    把索引 [1 - 3] 的数组元素 -- 替换为 7, 8, 9 (不确定, 用的少)

4 排列数组元素
    1 arr.sort()  -> 数组元素的ASCII码排序
    2 arr.sort(function(a,b){ return a-b})  -> 数字从小到大排序
    3 arr.sort(function(a,b){ return b-a})  -> 数字从大到小排序
    4 arr.reverse()  -> 数组元素的倒序排列
-------------------------------------------------------------------------------------------

2 不会改变元素组的方法
-------------------------------------------------------------------------------------------
1 数组转为字符串
    1 arr.join("-") --> 不传默认逗号分隔 --> ""==没有分隔  --> "-"==-来分隔
    2 arr.toString()
  
2 其他数据转为真数组
    1 var hh = Array.from(str / arr)     -- 可将伪数组或字符串转为真数组
    2 var hh = Array.of(1,2,3,"hh")      -- 可将零散元素转为数组
  
3 遍历
    1 数组遍历 -- forEach( (v,i,a)=>{} ) -- 可修改原数组无返回值
    2 数组遍历 -- map( (v,i,a)=>{} ) -- 不可修改原数组有返回值
  
    3 过滤数组 -- arr.filter( x => x>3 ) -- 返回需要的数组元素组成的新数组
  
    4 遍历判断 -- arr.every(v => v>3) -- 遍历数组元素, 只要有一个不大于3, 返回值 == false
    5 遍历判断 -- arr.some(v => v>3) -- 遍历数组元素, 只要有一个大于3, 返回值 == true
  
4 查找数组元素
	1 arr.indexOf( "hh" ) -- 返回从左往右第一个 hh字符 的 index, 如没有返回 -1
	2 arr.lastIndexOf( "hh" ) -- 返回从右往左第一个 hh字符 的 index, 如没有返回 -1
	3 arr.includes(3, 5) -- 判断数组内是否存在3, 从索引 [5 开始查找;  返回布尔值;  参数2--为可选
	
5 判断变量是不是一个数组
	1 Array.isArray( hh )  --  true / false (H5+, 支持IE9以上) 
	2 hh instanceof Array  --  true / false 
	
6 截取指定区间的数组元素
	1 arr.slice( 2 )  -- 返回的区间 [2 +后面全部的数组元素 
	2 arr.slice(0, 2)  -- 返回的区间 [0,2) 
	
7 合并数组
	1 arr.concat( arr1, arr2, arr3, 66 )  -- 合并3个数组以及一个数组元素
	
8 数组去重
	1 let set = Array.from(new Set([1, 2, 2, 3]))

9 findIndex() 方法
  1 作用: 传入一个测试条件, 返回符合条件的第一个数组元素的索引
  2 
-------------------------------------------------------------------------------------------

对象方法

1 创建对象的方法
-------------------------------------------------------------------------------------------
var obj = {};
var obj = new Object();
var obj = new Test('aaaa', 22, 'bbb');   //构造函数创建  (混合模式等等一些方法创建对象  --面向对象笔记)
var hh = Object.create(obj);   //创建一个指定 __proto__ 原型对象的空对象, 不指定的话, 该对象就没有 __proto__
-------------------------------------------------------------------------------------------

2 JS 内置对象 -> 数字对象 Math
-------------------------------------------------------------------------------------------
  1 Math.max(1,2,3)   返回最大值 - Math.max.apply([], arr)  可求数组最大值
  2 Math.min(1,2,3)   返回最小值 - 
  
  3 Math.ceil(2.3);   == 向上取整, 返回 3
  4 Math.round(2.3);   == 四舍五入取整, 返回3  'n.5 往大了取, 负值 -1.5 == 1'
  5 Math.floor(2.6);   == 向下取整, 想小的值取整, 返回 2
  
  6 Math.abs(-8)   返回绝对值 - 会隐式转换
  7 Math.random()   返回 [0-1) 范围内的随机小数
  8 Math.PI;    返回圆周率 


## 数字方法相关示例

  1 得到俩个数之间的随机整数, 且包含着俩个整数
    function getRandom(min, max) {  return Math.floor(Math.random() * (max - min + 1)) + min; }
            
  2 随机点名
    1 var arr = ["小白", "小黑", "小明", "小绿", "小红"]
    2 console.log(arr[getRandom(0, arr.length - 1)])
-------------------------------------------------------------------------------------------

3 JS 内置对象 -> 日期对象 Date
-------------------------------------------------------------------------------------------
  1 var date = new Date()     获取系统当前时间的 Date 对象
  2 var date = new Date('2018-10-1 8:8:8')     获取指定时间对象
  3 var date = +new Date()     获取时间戳: 当前日期 距离 197011日 过了多少毫秒
  4 Date.now()     也是获取时间戳
  5 var date = +new Date('2018-10-1 8:8:8')     返回指定的时间的时间戳


## 相关操作

  1 设置3天后的时间
    let d = new Date() 
    d.setDate(d.getDate()+3);

  2 提取 Date 实例对象中的时间属性
    1 date.getFullYear()2 date.getMonth()+13 date.getDate()4 date.getDay()       星期几  '星期一 == 1  周日 == 0'
    5 date.getHoures()6 date.getMinutes()7 date.getSeconds()-------------------------------------------------------------------------------------------

4 常用对象方法
-------------------------------------------------------------------------------------------
1 对象的遍历
  for (var k in obj) {
    console.log(k)   //obj的每个属性
    console.log(obj[k])   //obj的每个属性对应的属性值
  }
  
2 对象合并
  let obj1 = {a:1}  /  let obj2 = {b:2}  /  let obj3 = {}
  Object.assign(obj3, obj1, obj2)
  console.log(obj3);    // {a: 1, b: 2}
-------------------------------------------------------------------------------------------

5 对象扩展方法
-------------------------------------------------------------------------------------------
待完善...  (LY -> Day15)
-------------------------------------------------------------------------------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值