JS学习笔记day7

本文介绍了JavaScript中数组的各种方法,包括去重、迭代器方法如forEach、some、every、map和reduce,以及累加方法reduce。还提到了Math对象的数学运算方法,时间对象和定时器的使用,字符串对象的方法,如charAt、toLowerCase和toUpperCase等。此外,讨论了立即执行函数和递归函数的概念及应用。

一、数组的方法

  1. 数组去重

(1)indexOf(ele)

(2)双重for循环

(3)filter方法

2、数组迭代器方法 不产生新数组

(1)forEach(function(ele,index , arr){})

ele:第一个参数,数组中的每一个元素

index:第二个参数,数组中元素的下标

arr:第三个参数,原数组

不会产生新数组,没有返回值

(2)some()

some(function(ele,index , arr){})

返回值是布尔值只要一个满足条件,返回true

ele:第一个参数,数组中的每一个元素

index:第二个参数,数组中元素的下标

arr:第三个参数,原数组

(3)every()

都满足才是true

(4)map(function(ele,index , arr){})

map() 方法通过对每个数组元素执行函数来创建新数组。

map() 方法不会对没有值的数组元素执行函数。

map() 方法不会更改原始数组。

(5)过滤filter(function(ele,index , arr){})

3、数组累加方法:

(1)reduce(function(prev, next,index ,arr){} , defaltvalue)

prev:第一个参数表示的是上一次的返回值,初始值默认为数组中的第1个元素

next:第二个参数表示下一个值,初始值默认为数组中的第2个元素

index : next的下标

arr:原数组

设置了defaltvalue, prev=defaltvalue, next= arr[0]

练习:计算购物车总价

4、其他方法

(1)、Array .isArray() 返回布尔值

(2)、instance0f操作符:判断左侧是否为右侧的实例化对象

检测数组:

Array . isArray()方法

instanceOf操作符

(3)、concat 将多个数组合并为一个数组 ,返回值是新数组

(4)、二维数组

数组中每一个元素都是数组

[[],[],[]]

二、

1、Math对象方法:

(1)PI

Math.PI 3.1415926......

(2)向上取整

Math.ceil()

(3)向下取整

Math.floor()

(4)四舍五入

Math.round()

(5)随机数

Math.random() [0,1)

2、时间对象方法

new Date()

3、定时器

(1)setInterval(参数1,参数2):每隔参数2毫秒执行一次匿名函数中的代码

参数1:是一个匿名函数

参数2:是毫秒数

(2)setTimeout(参数1,参数2):隔参数2毫秒执行一次匿名函数中的代码

参数1:是一个匿名函数

参数2:是毫秒数

4、字符串对象方法

  1. charAt() 返回指定位置的元素

  1. charCodeAt() 返回指定位置元素的Unicode编码

  1. concat() 连接多个字符串,返回值为新的字符串

  1. indexOf() 同数组的indexOf

lastIndexOf() 同数组的lastIndexOf

  1. 截取字符串

5.1 slice() 同数组的slice方法 支持负数

5.2 substring() 不支持负值

substring(startindex , endindex)

startindex:必写,开始截取的位置

endindex:结束的位置

startindex ==endindex 返回值是空字符串

Startindex > endindex 在截取之前交换位置

5.3 substr()

substr(startindex , endindex)

  1. 大小写转换

console.log(str.toUppercase());//大写

console.log(str.toLowerCase());//小写

  1. 拆分字符串

split() 返回值是数组

练习:写一个方法实现首字母大写

三、立即执行函数

以分号结束

优点:避免多个开发者同时开发,变量名重名等问题

立即执行函数中的this指向window

四、递归函数

自己调用自己,注意要有终止条件

递归实现数组扁平化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值