数组对象和字符串对象

一、数组对象

数组对象 可以使用new Array或者**字面量“[ ]”**来创建,并且可以通过调用数组对象提供的一些方法来实现对数组的操作,比如添加或者删除数组元素,数组排序,数组索引等等.

1、数组类型检测

在开发中,有时候需要检测变量的类型是否为数组,数组检测有两种常见的方式:分别是使用instanceof运算符和使用Array.isArray()方法;

示例代码

添加或删除数组元素

数组对象提供了添加和删除元素的方法,可以实现在数组的末尾或开头添加新的数组元素,或者在数组的末尾或开头一处数组元素

 

方法名功能描述返回值
push(参数1…)数组末尾添加一个或多个元素,会修改原数组返回数组的新长度
unshift(参数1…)数组开头添加一个或多个元素(把数组长度-1,无参数),会修改原数组返回数组的新长度
pop()删除数组的最后一个元素,若是空数组则返回undefined,会修改原数组返回删除的元素的值
shift()删除数组的第一个元素,若是空数组则返回undefined,会修改原数组返回第一个元素的值

 示例代码

 [案例]筛选数组

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

 2、数组排序

数字对象提供了数组排序的方法,可以实现数组元素排序或者颠倒数组元素的顺序等

排序方法

方法功能描述

reverse()

颠倒数组中元素的位置,该方法会改变原数组,返回新数组
sort()对数组的元素进行排序,该方法会改变原数组,返回新数组

示例代码

注意: 如果调用sort()方法时没有传入参数,则按照字符编码的顺序进行排序

数组索引

在开发中,如果要查找指定的元素在数组中的位置,中科院利用Array对象提供的检索方法,、

检索方法

方法名                                      方法功能描述
indexOf()返回在数组中可以找到给定值的第一个索引,如果不存在,则返回-1
lastIndexOf()返回指定元素在数组中的最后一个的索引,如果不存在则返回-1

示例代码

[案例]数组去除重复元素 

 数组转换成字符串

方法功能描述
toString()把数组转换为字符串,逗号分隔每一项
join(‘分隔符’)将数组的所有元素连接到一个字符串中

示例代码:

 其他方法

方法功能描述
fill()用一个固定值填充数组中指定下标范围内的全部元素
splice()通过删除或替换现有元素或者原地添加新的元素来修改数组,返回被删除项目的新数组
slice()数组截取,参数为slice(begin, end),包含begin,但不包含end,返回被截取项目的新数组
concat()连接两个或多个数组,不影响原数组,返回一个新数组

示例代码:

 

练习:var url=’http://www.martinhan.com/login?name=zs&age=18’

最后输出结果是:{name:zs;age:18}

二、字符串对象 

在JavaScript中,字符串对象提供了一些用于对字符串进行处理的属性和方法,可以很方便地实现字符串的查找,截取,替换,大小写转换等操作

字符串对象的使用

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

示例代码

根据字符返回位置 

字符串对象对于检索元素的方法

方法功能描述
indexOf(‘要查找的值’,开始的位置)返回指定内容在原字符串中的位置,如果找不到就返回 -1;开始的位置是index 索引号;,开始参数2可选,规定在字符串中开始检索的位置。它的合法取值是 0 到的位置)stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
lastIndexOf(‘要从后往前找,从后往前找,只找第一个匹配的,如果没有找到匹配字符串则返回 -1;参数2可选,规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的首字符开始检索。

示例代码

 

案例

 

 根据位置返回字符

字符串对象用于获取某一个字符的方法:

成员作用
charAt(index)获取index位置的字符,位置从0开始计算
charCodeAt(index)获取index位置的字符的ASCII码
str[index]获取指定位置处的字符(HTML5新增)和charAt等效

示例代码:

 [案例]统计出现最多的字符和次数

 字符串操作方法

字符串对象用于截取和连接和替换字符串的方法

方法作用
concat(str1,str2, str3…)concat() 方法用于连接两个或多个字符串。拼接字符串,等效于+,+更常用
slice(start,[end])该方法没有改变原有字符串,会返回连接两个或多个字符串新字符串。截取从start位置到end(不包含end)位置之间的一个子字符串可提取字符串的某个部分,并以新的字符串返回被提取的部分
substring(start[,end])截取从start位置到end位置之间的一个子字符串,基本和slice相同,但是不接收负值
substr(start[,length])截取从start位置开始到length长度的子字符串从起始索引号提取字符串中指定数目的字符
toLowerCase()获取字符串的小写形式
toUpperCase()获取字符串的大写形式
split([separator[,limit])使用separator分隔符将字符串分隔成数组,limit用于限制数量separator可选。limit可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
replace(str1,str2)使用str2替换字符串中的str1,返回替换结果,只会替换第一个字符

示例代码:

 [案例]判断用户名是否合法

要求:长度在3~10的范围内,不允许出现敏感词admin的任何大小写形式

 

值类型和引用类型
在JavaScript中,基本数据类型(字符串型,字符型,数字型,布尔型,undefined,null)又被称为值类型,复杂数据类型(对象)又被称为引用类型

引用类型:变量中保存的是一个引用的地址,当对变量进行赋值时,并不是将对象复制了一份,而是将两个变量指向了同一个对象的引用
示例代码:

 当一个对象只被一个变量引用时,如果中国变量又被重新赋值,则该对象就会变成没有任何变量引用的取款,这个时候就会由JavaScript的垃圾回收机制自动释放

示例代码:

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值