数组方法、字符串方法、值类型与引用类型

5.数组对象
JavaScript中的数组对象可以使用new Array或自变量"[]"来创建。

5.1数组类型检测

数组类型检测有两种:instanceof运算符和使用Array.isArray()方法。

示例代码:

var arr=[];
var obj={};

//第一种方法
console.log(arr instanceof Array);//输出结果:true
console.log(obj instanceof Array);//输出结果:false

//第二种方法
console.log(Array.isArray(arr));//输出结果:true
console.log(Array.isArray(obj));//输出结果:false
5.2添加或删除数组元素

JavaScript数组对象提供了添加或删除元素的方法,可以实现在数组的末尾或开头添加新的数组元素,或在数组的末尾或开头移出数组元素。

示例代码

注意:

1   push()和unshift()方法的返回值是新数组的长度,而pop()和shift()方法返回的是移出的数组元素

 5.5.3筛选数组

案例需求:要求在包含工资的数组中,剔除工资达到2000或以上的数据,把小于2000的书重新放到新的数组里面。

5.4排序方法

1:reverse():颠倒数组元素的位置

2.sort():对数组元素进行排序

示例代码:

// sort: 如果调用该方法时没有使用参数,按照字符编码的顺序进行排序。

var arr1 = [1, 4, 5, 6, 73, 32, 22, 15];

// 不传参数的情况

console.log(arr1.sort());//输出的结果为:[1, 15, 22, 32, 4, 5, 6, 73]

5.5.5数组索引

1.indexOf() :返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1

2.lastIndexOf() :返回指定元素在数组中的最后一个的索引,如果不存在则返回-1

 

--参数1:要查找的元素

--参数2:开始查找的位置

--注意:如果第二个参数是-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找,以此类推。

lastlndex()

--如果改制大于或等于数组的长度,则整个数组会被查找

--如果为负值,将其视为从数组末尾向前的偏移。即使该值为负,数组任然会被从后向前查找。

--如果该值为负时,其绝对值大于数组长度,则方法返回-1,技术组不会被查找。

5.6、案例:数组去重

案例需求:要求在一组数据中,去除重复的元素

5.7、数组转换为字符串

在开发中,可以利用数组对象的join()和toString()方法,将数组转换为字符串。方法如下:

示例代码: toString() 

5.8、其他方法

JavaScript还提供了很多其他常用的数组方法。例如,填充数组、连接数组、截取数组元素等。方法如下:

注意: slice(和concat()方法在执行后返回一个新的数组,不会对原数组产生影响,剩余的方法在执行后皆会对原数组产生影响

示例代码: fill 参数:value start end value:用来填充数组元素的值 start:基于零的索引,从此开始填充,转换为整数 end:基于零的索引,在此结束填充,转换为整数。fill填充到但不包含end索引

 

 

splice 参数:start deleteCountitem1.. start:执行修改的开始位置(从0计数) deletecount:整数,表示要移除的数组元素的个数

item1:要添加进去数组的元素

 

 

 slice 参数:begin end begin:从该索引开始提取原数组元素(包含) end:在该索引处结束提取原数组元素(不包含)

 

concat

 

 

6、字符串对象

6.1、字符串对象的使用

字符串对象使用newString()来创建,在String构造函数中传入字符串,这样就会在返回的字符串对象中保存这个字符串

语法:


6.2、根据字符返回位置

 

字符串对象提供了用于检索元素的属性和方法,字符串对象的常用属性和方法如下:

示例代码:

 

注意: indexOf和lastlndexOf都区分大小写

案例代码: 案例需求:要求在一组字符串中,找到所有指定元素出现的位置以及次数。字符串为'Hello World,HelloJavaScript'。

6.3、根据位置返回字符

字符串对象提供了用于获取字符串中的某一个字符的方法。方法如下:

 

示例代码: 

6.4、案例:统计出现最多的字符和次数

案例需求:使用charAt方法通过程序来统计字符串中出现最多的字符和次数

 

6.5、字符串操作方法

字符串对象提供了一些用于截取字符串、连接字符串、替换字符串的属性和方法。字符串对象的常用属性和方法如下:

示例代码: 

6.6、案例:判断用户名是否合法

案例需求:用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式

 

6.7、值类型与引用类型

在JavaScript中,简单数据类型(如字符串型、数字型、布尔型、undefined、null)又称为值类型,在存储时,变量中存储的是值本身,因此叫做值类型 复杂数据类型(对象)又称为引用类型 引用类型的特点是,变量中保存的仅仅是一个引用的地址,当对变量进行赋值时,并不是将对象复制了一份,而是将两个变量指向了同一个对象的引用

示例代码:

字符串的不可变指的是里面的值不可变,看上去可以改变内容,其实是地址变了,新开辟了一个内存空间

案例代码: 代码中的obj1和obj2指向了同一个对象 

 

上述代码运行后,obj1和obj2两个变量引用了同一个对象,此时,无论是使用obj1操作对象还是使用 obj2操作对象,实际操作的都是同一个对象

当obj1和obj2两个变量指向了同一个对象后,如果给其中一个变量(如obj1)重新赋值为其他对象,或者重新赋值为其他值,则obj1将不再引用原来的对象,但obj2仍然在引用原来的对象

注意:

当一个对象只被一个变量引用的时候,如果这个变量又被重新赋值,则该对象就会变成没有任何变量引用的情况,这时候就会由JavaScript的垃圾回收机制自动释放 如果在函数的参数中修改对象的属性或方法,则在函数外面通过引用这个对象的变量访问时的结果也是修改后的

以上就是数组方法和字符串方法。 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值