JS学习: 不同数据类型常用的API和方法

前端js里需要处理数据的情境很常见,会用到很多方法。根据数据类型的不同,来学习它们的方法,并记下笔记和自己的理解。有些类型还没仔细看,日后再补充。

数组


1.创建 Array new Array()
1-1.判断类型  Array.isArray()
1-2 转换 Array()  join()
2.创作副本 of() 
3.迭代处理  from() map()
4.放取 push() pop() shift() unshift()
5.拼接、切除、填充 splice()【先切除、再加入一串】 concat() slice()【有用的切割函数】  copyWith()【内部复制】 fill()【填充】
6.寻找、筛选、满足条件 find() findIndex() every() some() 【需要传入类似forEach的比较函数】  filter in 【本是对象查找属性的,可认为索引号就是数组的属性名】
7.排序 sort() reverse()【直接反转】
8.存在性 includes() indexOf()【字符串中同样可用】
9.数组元素的匹配:var [a,b,c] =[1,2,3]; 【解构】据说var a=1,b=2,c=3; 也算
10.渐进(?): reduce() reduceRight()
11. 数据类型化的按位数组  ArrayBuffer 

类数组:
1.属性要为索引(数字)属性
2.必须有length属性
如:{'0':' 1',length: 1}

字符串、文本


1.子串搜索
  字面量 indexOf(s,i) lastIndexOf(s,i) 【返回的都是子串结果的第一个字符索引。 相当于前者匹配第一个子串,后者匹配最后一个子串。】
【indexOf默认从最前往后找,lastIndexOf从最后往前找】【lastIndexOf 逆版的indexOf,加上search(),includes(),本质上有四种indexOf】
  模式匹配 【符合特定规则的子串,上面只是包含具体字符与否,无法灵活到模式】 
 search()【返回子串起始位置索引,高级版的indexOf】 match()【匹配】 startsWith() endsWith() 【判头判尾的小工具】、,includes()
pattern.lastIndex【修改开始匹配的位置】 pattern.exec()【与test()类似,只表示有无。但是返回到的是匹配到的字符串(仅一个,用来表示'有',否则为null)】
 new RegExp() 修饰符:
i 不区分大小写
g 全局匹配
m 多行匹配
y 粘性匹配【就只从lastIndex开始,只匹配一次。而不会向后继续查】
js中正则表达式的使用方式有两种,一种是正则表达式对象的方法,一种是字符串对象的方法,前者有exec(str)、test(str)两个方法,
后者有match(regexp)、replace(regexp)、search(regexp)、split(search)四个方法。
lastIndex属性:https://www.cnblogs.com/2050/archive/2012/06/26/2563555.html ||只在正则对象的方法、且全局下有用

2.子串切割 slice【正统的切割函数,数组和字符都可以通用】 substring() 【同切割函数,完整版切割函数】  substr()【异化版切割函数】
3. 替换 replace() toLowerCase() toUpperCase()【全字符串大小写替换,不够灵活】
4.连接 concat()【能够输入无限参数】 Array.join()【得先构造一个数组对象,太麻烦了】 
5.转换 split() ...【扩展符,打散: [...s],注意只是加了逗号,中括号是需要另外加上的。实际是变成所谓的“,,,”扩展列】 `${a}` 模板插值
6.重复 repeat()【重复】
7. 码位【精细操作】  charCodeAt() codePointAt()  String.fromCharCode【字符码】 String.fromCodePoint()【码点】  
 原始字符串raw string【之前不知道的概念,es6】 String.raw `\n` 【不能带括号,类似python中的r"\",斜杠就是斜杠,不表示转义】
||String.raw(调用点对象  callSite【{raw: "abcd"}或 {raw: ['a','b','c','d']}】,任意个可选的参数)  万国码“\u{21323}”
8. 符号使用 \ 【折行定义】 ``【换行符的多行】 

时间对象


只要记住,时间点(对象)就是那一个,不一样的叫法、月、日、星期、时分秒等只是这个对象的属性罢了
Date对象 的创建 new Date() new Date('2020/3/7')
它的方法只有三类  getXXX setXXX toXXX

date表示的是 年月日的“日” day表示的是年月日的“星期”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值