js常用方法总结

本文详细介绍了JavaScript中数组和字符串的各种操作方法,包括去重、排序、遍历、过滤、映射等,同时涵盖了对象操作如属性设置、对象拷贝、原型链修改等。此外,还提及了Date对象的日期和时间处理以及Window的相关属性,如Screen和Location。内容全面,适合JavaScript开发者参考学习。
摘要由CSDN通过智能技术生成

一、array
1. new Set() 用来对数组进行去重。
2. shift()把数组的第一个元素从其中删除,并返回第一个元素的值(改变原数组)。
3. unshift() 向数组的起始处添加一个或多个元素,并返回新的长度(改变原数组)。
4. push()在数组的末端添加一个或多个元素,并返回添加 新元素后的数组长度(改变原数组)。
5. delete 删除一个数组成员,会形成空位,并不会影响length属性(改变原数组),同样适用于对象。
6. sort() 对数组元素进行排序(改变原数组)。
7. slice(start, end) 用于提取原来数组的一部分,会返回一个提取的新数组,原数组不变(字符串适用,不包括end)。
8. splice() 用于删除原数组的一部分,并且可以在删除的位置添加新的数组成员,返回值是被删除的数组元素。(改变原数组)splice(t, v, s)t:被删除元素的起始位置;v:被删除元素个数;s:s以及后面的元素为被插入的新元素。
9. valueOf() 返回数组本身。
10. toString()可把值转换成字符串。
11. concat() 在原始数据尾部添加另外数据组成新数据(字符串适用)。
12. reverse() 反转数组中的元素(改变原数组)。
13. join() 以参数作为分隔符,将所有参数组成一个字符串返回(一般默认逗号隔开)。
14. filter() 一个过滤方法,参数是一个函数,所有的数组成员依次执行该函数,返回结果为 true 的成员组成一个新数组返回。(不会改变原始数组)。
15. map() 依次遍历数组成员,根据遍历结果返回一个新数组。(map方法同样适用于字符串,但是不能直接调用,需要通过函数的call方法,间接使用,或者先将字符串转为数组,再使用)(不会改变原始数组)。
16. forEach() 跟map方法类似,遍历数组,区别是无返回值。
17. for in() 跟 map 方法类似,遍历对象或者数组。但值得注意的是 for in 循环返回的值都是数据结构的 键值名 。遍历对象返回的对象的key值,遍历数组返回的数组的下标(key)。
18. some()& every() 这两个方法类似于“断言”( assert ),用来判断数组成员是否符合某种条件。
Some 方法是只要有一个数组成员的返回值为true,则返回true,否则false;
every 方法是需要每一个返回值为true,才能返回true,否则为false;
reduce()依次处理数组的每个成员,最终累计成一个值。格式:reduce(a, b, x, y),a:必填,累计变量;b:必填,当前变量;x: 可选,当前位置;y:可选,原数组。
19. indexOf() 返回给定元素在数组中的第一次出现的位置,如果没有则返回-1(同样适用于字符串)。
20. lastIndexOf() 返回给定元素在数组中最后一次出现的位置,没有返回-1(同样适用于字符串)。
21. groupBy()把集合的元素按照key归类,key由传入的参数返回。
22. shuffle() 用洗牌算法随机打乱一个集合。
23. flatten() ,简写为flat(),接收一个数组,无论这个数组里嵌套了多少个数组,flatten最后都会把其变成一个一维数组(扁平化)。
24. Array.isArray() 用来判断是不是数据是不是一个数组,返回值为true或false。
25. find() 返回符合传入测试(函数)条件的数组元素。

二、string
1.charAt() 用于返回指定位置的字符。
2. trim() 删除头尾的空格。
3. charCodeAt() 用于返回指定位置的字符的Unicode编码。
4. match() 用于在字符串内检索指定的值或找到一个或多个正则表达式的匹配,返回的是值而不是值的位置。
5. replace() 替换匹配的字符串。
6. search() 用于检索与字符串匹配的子串,返回的是地址,与 indexOf() 的区别是 search 是强制正则的,而 indexOf 只是按字符串匹配的。
7. split() 将字符串切割成数组。
8. toLocaleLowerCase()& toLowerCase() 将字符串转换成小写。
9. toLocaleUpperCase() & toUpperCase() 将字符串转换成大写。
10. substr()用于从起始索引号提取字符串中指定数目的字符。
11. substring()用于提取字符串中两个指定索引号之间的字符。(与 slice() 和 substr() 方法不同的是, substring() 不接受负的参数。)
12. parseInt() 函数可解析一个字符串,并返回一个整数。
13. Math.ceil() 向上取整,有小数就整数部分加1
14. Math.round() 四舍五入
15. Math.floor() 向下取整

三、对象Object构造方法
1. Object.assign()将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。
2. Object.create()用指定的原型对象和属性创建一个新对象。
3. Object.defineProperty()将给定描述符描述的命名属性添加到对象。
4. Object.defineProperties()将给定描述符描述的命名属性添加到对象。
5. Object.entries()返回一个包含[key, value]给定对象自己的可枚举字符串属性的所有对的数组。
6. Object.freeze()冻结对象。其他代码无法删除或更改其属性。
7. Object.fromEntries()从可迭代的[key, value]对中返回一个新对象。(这是的反向 Object.entries)
8. Object.getOwnPropertyDescriptor()返回对象的命名属性的属性描述符。
9. Object.getOwnPropertyDescriptors()返回一个包含对象自身所有属性描述符的对象。
10. Object.getOwnPropertyNames()返回一个数组,其中包含给定对象自己的所有可枚举和不可枚举属性的名称。
11. Object.getOwnPropertySymbols()返回直接在给定对象上找到的所有符号属性的数组。
12. Object.getPrototypeOf()返回prototype指定对象的。
13. Object.is()比较两个值是否相同。求所有NaN值(不同于“抽象相等比较”和“严格相等比较”)。
14. Object.isExtensible()确定是否允许扩展对象。
15. Object.isFrozen()确定对象是否冻结。
16. Object.isSealed()确定对象是否密封。
17. Object.keys()返回一个数组,其中包含给定对象自己的所有可枚举字符串属性的名称。
18. Object.preventExtensions()防止对象的任何扩展。
19. Object.seal()防止其他代码删除对象的属性。
20. Object.setPrototypeOf()设置对象的原型(其内部[[Prototype]]属性)。
21. Object.values()返回一个数组,该数组包含与给定对象自己的所有可枚举字符串属性相对应的值。

四、Date对象的用法
1.Date(): 返回当日的日期和时间;
2. getDate(): 从Date对象返回一个月中的某一天(1~31)console.log(date.getDate());
3. getDay():从Date对象返回一周中的某一天(0~6);
4. getMonth(): 从Date对象返回月份(0~11);
5. getFullYear(): 从Date对象以四位数字返回年份;
6. getYear():可以使用getFullYear()代替;
7. getHours(): 返回Date()对象的小时(0~23);
8. getMinutes(): 返回Date()对象的分钟(0~59);
9. getSeconds(): 返回Date()对象的分钟(0~59);
10. getMillseconds(): 返回Date()对象的毫秒(0~999);
11. getTime(): 返回1970年1月1日至今的时间;
12. getTimezoneOffset(): 返回本地时间与格林威治标准时间(GMT)的分钟差;
13. getUTCDate(): 根据世界时从Date对象返回月中的一天(1~31);
14. getUTCDay(): 根据世界时从Date对象返回周中的一天(1~6);
15. getUTCMonth(): 根据世界时从Date对象返回月份(0~11);
16. getUTCFullYear(): 根据世界时从Date对象返回四位数的年份;
17. getUTCHours(): 根据世界时从Date对象返回对象的小时(0~23);
18. getUTCMinutes(): 根据世界时从Date对象返回对象的分钟(0~59);
19. getUTCSeconds(): 根据世界时从Date对象返回对象的秒钟(0~59);
20. getUTCMillseconds(): 根据世界时从Date对象返回对象的毫秒(0~999);
21. parse(): 返回1970年1月1日午夜到指定日期(字符串)的毫秒数;
22. setDate(): 设置Date对象中月的某一天(1~31);
23. setMonth(): 设置Date对象中月份(0~11);
24. setFullYear(): 设置Date对象中的年份(四位数字);

四、Window Screen
screen常用属性:
screen.weight::返回当前屏幕的宽度
screen.height::返回当前屏幕的高度
screen.availWidth:返回当前屏幕的宽度,减去工具条等页面特征
screen.availHeight::返回当前屏幕的高度,减去工具条等页面特征
screen.colorDepth:返回色深
screen.pixelDepth:返回屏幕的像素深度

五、Window Location
location常用属性:
href:返回当前页面的href(URL)
hostname/host:返回web主机的域名
pathname:返回当前页面的路径或文件名
protocol:返回使用的web协议(http:或https:)
assign:加载新文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值