每天一句:在你想要放弃的那一刻,想想为什么当初走到了这里 —— 科比
一、数组
- splice()删除、替换、添加
arrayObject.splice(start, num);
参数:
start: 操作开始位置
num: 操作的个数
// 删除: 从第1个开始,删除2个元素,返回值为删除元素
arr.splice(1, 2);
// 替换: 从第0个开始,替换3个,返回值为替换元素
arr.splice(0, 3, '测试’);
// 添加: 从第1个开始,替换0个,返回值为空
arr.splice(1, 0, '测试’);
案例: 数组去重
- join()方法用于把数组中的所有元素放入一个字符串
arrayObject.join(separtor);
参数:
separtor: 指定使用的分隔符,如果缺省,则使用逗号作为分隔符;
var arr = [1,2,3];
// 以-为分隔符,将数组串联成字符串
alert( arr.join('-') );
- sort()方法是从小到大排序,返回排序后的数组,而源数组也是排序好的
注1: sort默认是按照字符串进行处理的,即比较首字母; 数组排序和数字字符串排序算法是一样的;
注2: sort方法并不是JS的标准中定制的,每个浏览器都可以自定义不同的排序方法;
// 给sort传递一个比较函数
arr2.sort(function(a, b){
// return a - b; // 从小到大
return b - a; // 从大到小
});
// 其他类型的比较
var arrW = ['123px','23px','1000px','327px'];
arrW.sort(function(a, b){
return parseInt(a) - parseInt(b);
});
alert(arrW);
案例: 随机排序,即将数组打乱
- reverse()方法从大到小排序,返回排序后的数组,而源数组也是排序好的
二、字符串
- 字符串基本使用
// 新建字符串
var str3 = '面对疾风吧...';
var str4 = new String('哈撒科...');
// new Number(),new Boolean(),new Date(),new Function(),new Array(),new Object() ==> (通过new关键字得到的都是对象,但不推荐用法)
// 字符串是特殊的数组
// 获取字符串的长度
str3.length
// 通过下标获取字符串中的字符
alert( str3[1] );
toUpperCase()转为大写
toLowerCase()转为小写
charAt()方法返回指定位置的字符
indexOf()方法返回某个指定的字符串值在字符串中首次出现的位置
stringObject.indexOf(searchValue,fromIndex);
参数:
searchValue: 必填,检索的字符串值;
fromIndex: 可选,规定在字符串中开始位置,默认就是0;
返回值:
返回对应字符串的位置,如果不存在返回-1;
注: indexOf()从左往右查找; lastIndexOf()从右往左边查找
案例: 查找某个字符串出现的次数
- substring()方法用于提取字符串中介于两个指定下标之间的字符
stringObject.substring(start, stop);
返回值: 返回的是stringObject的子字符串,其内容是从start处到stop-1处的所有字符;
注: 是不包含stop处的字符;start和stop大小没有先后顺序; 当参数为负数时,该参数当0处理
案例: 动态展开/收起效果
- split()方法用于把一个字符串分割成数组
stringObject.split(separator,length);
参数:
separator: 以separator分割;
length: 指定返回的数组最大长度;
返回值: 返回数组中的字符串不包含separator本身;
注: 若无参数,是将整个字符串放入数组,即是字符串转为数组类型;
// 无参数,即是将字符串转为数组
var arr1 = str.split();
// 以'.'切割字符串
var arr2 = str.split('.');
// 以''将字符串一个个字符切分
var arr3 = str.split('');
案例(面试): 颠倒字符串
综合案例: 查找、替换效果(split和join结合使用)