数组中常用的方法
数组中有很多常用的方法
console.dir(Array.prototype)
可以看到很多很多数组方法
重点记忆:
1.方法的意义和作用
2.方法的形参
3.方法的返回值
4.通过此方法操作,原来的数组是否发生了改变
实现数组的增加修改和删除
var ary = [12,23,24];
增加
1.push():向数组的末尾追加新内容
参数:一个到多个,任何数据类型都可以,想要给数组末尾追加什么,直接传递到push方法中即可,传递多个用逗号隔开
返回值;新增后数组的长度
原有数组改变了
2.unshift():想数组开头追加新内容
参数:需要追加的内容(可以是多个任何数据类型的值)
返回值:新增后数组的长度
原来数组改变了
3.把数组当做一个普通的对象,使用对象键值对操作,给其设置新的属性(索引)
ary[ary.length] = xxx; 向数组的末尾追加了新的内容,完全把数组当做了一个普通对象
因为ary.length刚好是数组长度比索引大一,添加索引的方式添加数组内容
原来的数组改变了
删除
1.pop():删除数组的最后一项
参数:无
返回值:被删除的那一项内容
原来数组改变了
2.shift():删除数组第一项
参数:无
返回值:被删除的那一项内容
原来数组改变了
使用该方法删除第一项之后,后面每一项的索引往前减一(导致后面项的索引发生改变)
3.把数组当做普通对象操作,使用delete删除
delete删除:delete ary[索引]
删除指定索引项(当前项被删除后,原有数组其他项的索引不会改变;而且当前数组的length也不会改变)
4.ary.length-- :删除数组最后一项,数组的长度也会随之改变
5.splice方法:数组中内置的方法,可以实现数组的增加修改删除
splice(n,m):从索引n开始删除m个(m不写是删除到数组末尾)
返回值:是被删除的内容(一个新数组保存被删除的内容)
原数组改变了
splice(0) 清空数组
splice() 一项都不删除,返回一个新的空数组
splice方法实现修改(基于删除来实现)
splice(n,m,x):在原有的基础上,用x代替被删除的内容
splice方法实现增加
splice(n,0,x):在原有基础上,删除0项,把x插入到索引n的前面
那么这样我们就可以使用该方法来实现数组开头追加新内容,删除等操作
字符串中常用方法
在JS中用单双引号包裹起来的都是字符串
第一个字符的索引是0,第二个字符的索引是1,第三个是2······
字符以数字为索引,从零开始
如果指定索引不存在获取的结果为undefined
var str = 'welcome to creatshare';
console.log(str);//welcome to creatshare
//字符串就是由零到多个字符组成的
//1.字符以数字为索引,从零开始
str[0];//'w'
str[100];//输出了undefined,如果指定索引不存在获取的结果为undefined
//2.具有length属性,存储的是当前字符串中字符的个数(字符串的长度)
str.length;//21(但愿我没数错)
str[str.length-1];//输出了最后一个字符,'e'
真实项目中,我们经常操作字符串,此时我们需要掌握常用的一些字符串操作方法
控制台中,输入console.dir(String.prototype),可以查看到这些方法
charAt && charCodeAt
str.charAt(索引):返回指定索引位置的字符,和str[索引]的区别在于,当指定的索引不存在的时候,中括号的方式获取的是undefined,而charAt获取的是空字符串
str.charCodeAt(索引):在charAt基础上,把获取到的字符变为unicode编码值(对应了ASCII码表)
48~57:0-9
65~90:A-Z
97~122:a-z
···
String.fromCharCode(十进制的unicode值)
把值按照ASCII码表中的信息,转化为原有字符,和charCodeAt正好对应
substr && substring && slice
实现字符串截取的三个方法
str.substr(n,m):从索引n开始截取m个字符
str.substring(n,m):从索引n开始截取到索引为m处(不包含m),这其中的部分被截取出。
str.slice(n,m):和substring语法一样,区别在于slice支持以负数做索引,当索引是负数的时候,浏览器在处理的时候是用字符串的总长度加上负数索引,然后按照正数处理操作,看下面例子
细节:
1.以上三个方法的第二个参数不是必须的,如果只写一个参数,则按第一个参数作为参数找到字符串末尾为止。也就说:如果只传递了参数n,相当于从索引n开始一直截取到字符串结尾
2.如果第二个参数超出了最大索引,也是把能截取的部分截取掉即可
3.如果一个参数都不传,相当于把整个字符串都截取掉(字符串的克隆可以这么来整)
var str = 'welcome to creatshare';
str.substr(3,7);//'come to'
str.substring(3,7);//'come'
str.slice(3,7);//'come'
str.slice(-7,-3);//'atsh'
str.slice(str.length-7,str.length-3);'atsh'
toUpperCase && toLowerCase
toUpperCase:把字母全部大写
toLowerCase:把字母全部小写
indexOf() && lastIndexOf()
str.indexOf():获取当前字符在字符串中第一次出现位置的索引
str.lastIndexOf():获取当前字符在字符串中最后一次出现位置的索引
如果当前字符在字符串当中没有出现过,结果是-1;我们根据这个规律可以验证一下当前字符串当中是否包含某个字符
if(str.indexOf('?')===-1){
alert('没有出现过');
}else{
alert('出现过');
}
网友评论