数组+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
(1)语法:创建数组
a、字面量方式创建
var 变量名 = [数据1,数据n];
b、构造函数创建
var 变量名 = new Array();//空数组
var 变量名 = new Array(len);//创建大小为len的数组,len整型,number数据类型
var 变量名 = new Array(数据1,数据n)
(2)数组中常用的方法(尽量记)
a:新增数组元素,获取数组元素值
arr.push(v1,v2...):向数组末尾添加一个或者多个元素
参数:需要添加的数组元素
返回值:数组的长度
注意:原数组改变
arr.pop():删除数组末尾一个或n个元素;
返回值:删除掉的元素
注意:原数组改变
arr.unshift(v1,v2...):向数组头部添加一个或者多个元素
参数:需要插入的值
返回值:数组的长度
注意:原数组改变
arr.shift():删除数组头部一个或n个元素;
返回值:删除掉的元素
注意:原数组改变
b:反转
arr.reverse():将数组的元素倒置
注意:原数组改变
c:搜索[重要]
indexOf(v1):从数组头部查找v1,找到的话返回索引
参数:要查找的数值;
返回值:索引,没有找到返回-1
lastIndexOf(v2):从数组尾部查找v2,找到的话返回索引
参数:要查找的数值
返回值:索引,没有找到返回-1
注意:如果是同一个唯一数组元素,两种搜索得出的下标值一致;
d:排序[重要]
sort([排序规则函数]):
sort(function(a,b){
//a==b return 0;
//a<b return -1;a在b的前面
//a>b return 1;a在b的后面
});
加return a-b;则返回顺序数组
默认小写和数字,非数字根据ASCII数值比较
e:splice(i,n,数组元素)-----在数组中特定位置删除或替换或添加特定元素
i:插入数组下标值[该数组元素之前];
n:1[删除该数组元素,可以是n],0[保持不变,不删除]
插入元素[可选,可以输入多个]
若n=0,则返回值为空,数组长度加n
若n!=0,则返回值为替换的数组,长度不变
字符串~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
(1)字符串[用双引号括起来的字符序列]
a:创建字符串
1)字面量
var str = "";//‘‘
typeof str--->string--->基本数据类型
2)构造
var str=new String("");
c:字符串的方法
1)字符方法
charAt(index)----->string单个字符,获取下标为index的字符
charCodeAt(index)------number ASCII数值, 获取下标为index的字符的ASCII码
String.fromCharCode(ASCII码)-----ASCII--->string单个字符, 将ASCII码转换成字符(静态方法
)
2)字符串子串的搜索
indexOf("子串"[,startIndex])
从字符串的头部查找指定字符串第一次出现的位置,如果没有找到返回-1
默认起始索引是0
lastIndexOf(“子串”[, startIndex])
从字符串的末位查找字符串最后一次出现的位置,如果没有找到,返回-1
3)替换,匹配
replace("需要替换的字符串","替换的字符串")
参数1:被替换的字符串或者正则表达式
参数2:替换字符串
返回值:被替换的字符串
注意:原来的字符串并没有发生改变
特点:默认【被替换的子串---字符串】只能替换一次
如果以后匹配多次,大小忽略,按一定规则匹配,下周学习正则
如:var new2=str2.replace(/adc/gi,"");// gi是全局;//中不需要加"";
match会匹配参数,如果匹配不上,返回null,如果匹配上,则返回匹配结果的数组
默认没有使用正则,匹配一次
search(匹配的参数)
匹配的参数只有一个,要么正则表达式,要么是字符串项
返回值:第一个匹配项的索引,否则为-1;始终从字符串的头部开始查找,忽略全局g
用正则也是输出第一个索引;
4)截取
substring(startIndex[,endIndex])
从字符串下标startIndex开始截取,到endIndex(不包含)结束
返回值:截取的子串,对原串没有影响
substr(startIndex[,length])
从字符串下标startIndex开始截取,到长度为length(不包含)结束
返回值:截取的子串
注意:原字符串不会改变
方法包含头,不包含尾,但是如果省略尾参数,又包含了最后一个字符(如果没有参数就返回到对象结尾
)
5)大小写转换
toUpperCase()
将字符串所有的小写字符转换成大写字符,大写字符保持不变
toLowerCase()
将字符串所有的小写字符转换成小写字符,小写字符保持不变
6)split分割
splic(separate,[howmany])
根据分隔符,拆分成数组
注意:\转义
返回值:新数组
数学函数:
(1)求最大值 Math.max([任意多个数值])
(2)求最小值 Math.min([任意多个数值])
(3)舍入方法 向上取整Math.ceil(数值);向下取整Math.floor(数值);
四舍五入:Math.round(数值)
(4)其他 n的m次幂:Math.pow(n,m);
取绝对值:Math.abs(数值);
取平方根:Math.sqrt(数值;)