每天一句:在你想要放棄的那一刻,想想為什么當(dāng)初走到了這里 —— 科比
一、數(shù)組
- splice()刪除、替換、添加
arrayObject.splice(start, num);
參數(shù):
start: 操作開始位置
num: 操作的個數(shù)
// 刪除: 從第1個開始,刪除2個元素,返回值為刪除元素
arr.splice(1, 2);
// 替換: 從第0個開始,替換3個,返回值為替換元素
arr.splice(0, 3, '測試’);
// 添加: 從第1個開始,替換0個,返回值為空
arr.splice(1, 0, '測試’);
案例: 數(shù)組去重
- join()方法用于把數(shù)組中的所有元素放入一個字符串
arrayObject.join(separtor);
參數(shù):
separtor: 指定使用的分隔符,如果缺省,則使用逗號作為分隔符;
var arr = [1,2,3];
// 以-為分隔符,將數(shù)組串聯(lián)成字符串
alert( arr.join('-') );
- sort()方法是從小到大排序,返回排序后的數(shù)組,而源數(shù)組也是排序好的
注1: sort默認(rèn)是按照字符串進行處理的,即比較首字母; 數(shù)組排序和數(shù)字字符串排序算法是一樣的;
注2: sort方法并不是JS的標(biāo)準(zhǔn)中定制的,每個瀏覽器都可以自定義不同的排序方法;
// 給sort傳遞一個比較函數(shù)
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);
案例: 隨機排序,即將數(shù)組打亂
- reverse()方法從大到小排序,返回排序后的數(shù)組,而源數(shù)組也是排序好的
二、字符串
- 字符串基本使用
// 新建字符串
var str3 = '面對疾風(fēng)吧...';
var str4 = new String('哈撒科...');
// new Number(),new Boolean(),new Date(),new Function(),new Array(),new Object() ==> (通過new關(guān)鍵字得到的都是對象,但不推薦用法)
// 字符串是特殊的數(shù)組
// 獲取字符串的長度
str3.length
// 通過下標(biāo)獲取字符串中的字符
alert( str3[1] );
toUpperCase()轉(zhuǎn)為大寫
toLowerCase()轉(zhuǎn)為小寫
charAt()方法返回指定位置的字符
indexOf()方法返回某個指定的字符串值在字符串中首次出現(xiàn)的位置
stringObject.indexOf(searchValue,fromIndex);
參數(shù):
searchValue: 必填,檢索的字符串值;
fromIndex: 可選,規(guī)定在字符串中開始位置,默認(rèn)就是0;
返回值:
返回對應(yīng)字符串的位置,如果不存在返回-1;
注: indexOf()從左往右查找; lastIndexOf()從右往左邊查找
案例: 查找某個字符串出現(xiàn)的次數(shù)
- substring()方法用于提取字符串中介于兩個指定下標(biāo)之間的字符
stringObject.substring(start, stop);
返回值: 返回的是stringObject的子字符串,其內(nèi)容是從start處到stop-1處的所有字符;
注: 是不包含stop處的字符;start和stop大小沒有先后順序; 當(dāng)參數(shù)為負(fù)數(shù)時,該參數(shù)當(dāng)0處理
案例: 動態(tài)展開/收起效果
- split()方法用于把一個字符串分割成數(shù)組
stringObject.split(separator,length);
參數(shù):
separator: 以separator分割;
length: 指定返回的數(shù)組最大長度;
返回值: 返回數(shù)組中的字符串不包含separator本身;
注: 若無參數(shù),是將整個字符串放入數(shù)組,即是字符串轉(zhuǎn)為數(shù)組類型;
// 無參數(shù),即是將字符串轉(zhuǎn)為數(shù)組
var arr1 = str.split();
// 以'.'切割字符串
var arr2 = str.split('.');
// 以''將字符串一個個字符切分
var arr3 = str.split('');
案例(面試): 顛倒字符串
綜合案例: 查找、替換效果(split和join結(jié)合使用)