每天一句:在你想要放棄的那一刻构罗,想想為什么當(dāng)初走到了這里 —— 科比
一铜涉、數(shù)組
- splice()刪除、替換遂唧、添加
arrayObject.splice(start, num);
參數(shù):
start: 操作開(kāi)始位置
num: 操作的個(gè)數(shù)
// 刪除: 從第1個(gè)開(kāi)始芙代,刪除2個(gè)元素,返回值為刪除元素
arr.splice(1, 2);
// 替換: 從第0個(gè)開(kāi)始盖彭,替換3個(gè)纹烹,返回值為替換元素
arr.splice(0, 3, '測(cè)試’);
// 添加: 從第1個(gè)開(kāi)始,替換0個(gè)召边,返回值為空
arr.splice(1, 0, '測(cè)試’);
案例: 數(shù)組去重
- join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串
arrayObject.join(separtor);
參數(shù):
separtor: 指定使用的分隔符铺呵,如果缺省,則使用逗號(hào)作為分隔符;
var arr = [1,2,3];
// 以-為分隔符隧熙,將數(shù)組串聯(lián)成字符串
alert( arr.join('-') );
- sort()方法是從小到大排序片挂,返回排序后的數(shù)組,而源數(shù)組也是排序好的
注1: sort默認(rèn)是按照字符串進(jìn)行處理的贞盯,即比較首字母; 數(shù)組排序和數(shù)字字符串排序算法是一樣的;
注2: sort方法并不是JS的標(biāo)準(zhǔn)中定制的音念,每個(gè)瀏覽器都可以自定義不同的排序方法;
// 給sort傳遞一個(gè)比較函數(shù)
arr2.sort(function(a, b){
// return a - b; // 從小到大
return b - a; // 從大到小
});
// 其他類(lèi)型的比較
var arrW = ['123px','23px','1000px','327px'];
arrW.sort(function(a, b){
return parseInt(a) - parseInt(b);
});
alert(arrW);
案例: 隨機(jī)排序,即將數(shù)組打亂
- reverse()方法從大到小排序躏敢,返回排序后的數(shù)組闷愤,而源數(shù)組也是排序好的
二、字符串
- 字符串基本使用
// 新建字符串
var str3 = '面對(duì)疾風(fēng)吧...';
var str4 = new String('哈撒科...');
// new Number(),new Boolean(),new Date(),new Function(),new Array(),new Object() ==> (通過(guò)new關(guān)鍵字得到的都是對(duì)象父丰,但不推薦用法)
// 字符串是特殊的數(shù)組
// 獲取字符串的長(zhǎng)度
str3.length
// 通過(guò)下標(biāo)獲取字符串中的字符
alert( str3[1] );
toUpperCase()轉(zhuǎn)為大寫(xiě)
toLowerCase()轉(zhuǎn)為小寫(xiě)
charAt()方法返回指定位置的字符
indexOf()方法返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置
stringObject.indexOf(searchValue肝谭,fromIndex);
參數(shù):
searchValue: 必填掘宪,檢索的字符串值;
fromIndex: 可選,規(guī)定在字符串中開(kāi)始位置攘烛,默認(rèn)就是0;
返回值:
返回對(duì)應(yīng)字符串的位置魏滚,如果不存在返回-1;
注: indexOf()從左往右查找; lastIndexOf()從右往左邊查找
案例: 查找某個(gè)字符串出現(xiàn)的次數(shù)
- substring()方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符
stringObject.substring(start, stop);
返回值: 返回的是stringObject的子字符串坟漱,其內(nèi)容是從start處到stop-1處的所有字符;
注: 是不包含stop處的字符鼠次;start和stop大小沒(méi)有先后順序; 當(dāng)參數(shù)為負(fù)數(shù)時(shí),該參數(shù)當(dāng)0處理
案例: 動(dòng)態(tài)展開(kāi)/收起效果
- split()方法用于把一個(gè)字符串分割成數(shù)組
stringObject.split(separator,length);
參數(shù):
separator: 以separator分割;
length: 指定返回的數(shù)組最大長(zhǎng)度;
返回值: 返回?cái)?shù)組中的字符串不包含separator本身;
注: 若無(wú)參數(shù)芋齿,是將整個(gè)字符串放入數(shù)組腥寇,即是字符串轉(zhuǎn)為數(shù)組類(lèi)型;
// 無(wú)參數(shù),即是將字符串轉(zhuǎn)為數(shù)組
var arr1 = str.split();
// 以'.'切割字符串
var arr2 = str.split('.');
// 以''將字符串一個(gè)個(gè)字符切分
var arr3 = str.split('');
案例(面試): 顛倒字符串
綜合案例: 查找觅捆、替換效果(split和join結(jié)合使用)