目录
4、数组对象
数组对象的创建
4.1、字面量方式(见以前的笔记)
4.2、new Array()
var arr1 = new Array(2);//此时创建的是长度为2的空数组
var arr2 = new Array(2,3);//此时等价于用字面量创建了[2,3]的数组
由上可见在用该方式创建数组时new Array()里面必须有两个以上的元素。
检测是否为数组的两种方式
4.3、instanceof运算符
4.4、Array.isArray(参数)
两者返回的值均为布尔型,当检测Array实例时,Array.isArray()优先于instanceof,因为Array.isArray可以检测iframes。
Array.isArray()的浏览器兼容性:Internet Explorer在i9以上才支持。
添加删除数组元素的方法
4.4、添加数组元素
方法一:push(),在末尾加元素,参数就是追加的新的元素,返回值是新数组的长度,原数组也会发生变化;
方法二:unshift(),在数组开头加元素,返回值也是数组长度。
4.5、删除数组元素
方法一:pop(),可以删除数组的最后一个元素,没有参数,返回值为删除的元素。
方法二:shift(),删除数组的第一个元素,返回值也为删除的元素。
数组排序
reverse()是实现翻转数组,sort()是实现冒泡排序。
sort()最好不要用于双位数排序,其排序方式为从左往右比较每位数的大小,很容易出现错误。
sort()的完美写法(该方法可以实现升序排序,改为b-a就可以按照降序排列):
获取数组元素索引
indexOf()只返回第一个符合的元素的索引号,lastindezOf()返回的则是最后一个,若不存在该元素则返回-1。
数组去重
遍历旧数组,拿着旧数组的元素取查询新数组,如果该元素在新数组里面没有出现过则添加,否则不添加。代码如下:
数组转换为字符串
join可以自主设置分隔符而toString则默认为逗好。
其余补充
5、字符串对象
基本包装类型
基本包装类型为把简单数据类型转换为复杂数据类型,这样基本数据类型就有了属性和方法。过程如下:
字符串不可变
字符串里面的值不可变,虽然表面上内容未变,但是实质上是地址变了,内存中新开辟了一个内存空间。
根据字符串返回位置
字符串所有的方法都不会修改字符串本身(字符串不可变),操作完成会返回一个新的字符串。
此处的indexOf()可以从设定的开始位置开始查找。
根据位置返回字符(重点)
拼接及截取字符串
替换字符
replace('被替换的字符','替换为字符')
当字符串里面有多个被替换的字符时,替换的是第一个字符。替换所有字符需要利用循环。
字符转换为数组
split('分隔符')