JS中字符串和數組的經常使用方法
js中字符串經常使用方法
查找字符串
根據索引值查找字符串的值
根據字符值查找索引值
截取字符串的方法
字符串替換
字符串的遍歷查找
字符串轉化爲數組
數組中經常使用的方法
往數組裏增長項
從數組裏刪除項
更改數組項
查詢數組項
遍歷數組
截取數組值
其餘的數組方法
string.charAt(index)返回給定位置的那個字符值;web
var str = 'abcdefg'; console.log(str.charAt(3));//d
string.indexOf(substring,start)從一個字符串搜索指定的子字符串,返回子字符串的位置(沒有找到返回-1)。正則表達式
var str = 'abcedcbadefghi'; //從第5個索引(值爲c)開始查找,找不到,返回-1; console.log(str.indexOf('dc',5));//-1 //從str的第一位開始日後查找,返回子串中第一個值d在str中出現的索引位。 console.log(str.indexOf('dc',0));//4
String.lastIndexOf(start,value ) 從後向前檢索一個子字符串;數組
var str = 'abcedcbadefghi'; // 此時是從第一位開始往前查找,找不到,返回-1. console.log(str.lastIndexOf('ed',0));//-1 //從str的第11位值g開始往前找,最後一次出現''ed'的位置。 console.log(str.lastIndexOf('ed',11));//3 //從str的第11位值g開始往前找,最後一次出現e的位置。 console.log(str.lastIndexOf('e',11));//9
String.search( ) 檢索與正則表達式相匹配的子串bash
var str = 'abcedcbadefghi'; console.log(str.search('ed'));//3
string.slice(start, end)截取一個子串函數
var str = 'abcedcbadefghi'; console.log(str.slice(2,5));//ced console.log(str);//abcedcbadefghi
string.substr(start, length) 抽取一個子串post
var stringValue = "hello world"; alert(stringValue.substr(3)); //"lo world" ; alert(stringValue.substr(3,7)); //"lo worl"
string.substring(from, to):返回字符串的一個子串測試
var stringValue = "hello world"; alert(stringValue.substring(3,7)); //"lo w"
//替換 var text = "cat,bat,sat,fat"; var result = text.replace("at","ond"); alert(result); //"cond,bat,sat,fat"
var text = "cat,bat,sat,fat"; var pattern = /.at/; var matches = text.match(pattern); console.log(matches); //["cat"] var str = 'abcedcbadefghi'; console.log(str.match())//[''] console.log(str.match('a'))//['a']
string.split(delimiter, limit)將字符串分割成字符串數組ui
//將一個字符串進行倒序輸出 var str = 'abcdefg'; var str3 = str.split('').reverse().join(''); console.log(str3);//gfedcba
array.push(value, ...)給數組最後添加一個或多個元素;this
var arr = [3,4,5,2,1,9,4,2,5,3,8,1]; console.log(arr.push('a','s','f'));//15 console.log(arr);//[3, 4, 5, 2, 1, 9, 4, 2, 5, 3, 8, 1, "a", "s", "f"]
array.unshift(value, ...) 給數組最前邊添加一個或多個元素;編碼
var arr = [3,4,5,2,1,9,4,2,5,3,8,1]; console.log(arr.unshift('a','s','f'));//15 console.log(arr);//["a", "s", "f", 3, 4, 5, 2, 1, 9, 4, 2, 5, 3, 8, 1]
Array.pop( ) 刪除並返回數組的最後一個元素
var arr = [3,4,5,2,1,9,4,2,5,3,8,1]; console.log(arr.pop());//1 var arr1 = []; console.log(arr1.pop());//undifined
Array.shift( ) 將元素移出數組
var arr = [3,4,5,2,1,9,4,2,5,3,8,1]; console.log(arr.shift());//3 var arr1 = []; console.log(arr1.shift());//undifined
Array.reverse( ) 顛倒數組中元素的順序
var arr = [3,4,5,2,1,9,4,2,5,3,8,1]; console.log(arr.reverse());//[1, 8, 3, 5, 2, 4, 9, 1, 2, 5, 4, 3] //修改原數組,而不會建立新的數組; console.log(arr);//[1, 8, 3, 5, 2, 4, 9, 1, 2, 5, 4, 3]
Array.sort(fun ) 對數組元素進行排序
var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; console.log(arr.sort()); //[1, 1, 2, 200, 3, 3, 35, 4, 4, 54, 81, 90]; console.log(arr.sort(function(a,b){return a-b})); //[1, 1, 2, 3, 3, 4, 4, 35, 54, 81, 90, 200]
array.forEach(item[, thisObject]);
var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; arr.forEach(function(item){ console.log(item) }); //輸出的是數組的每一項的值。
array.map(item[, thisObject]);
forEach和map的區別
var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; var arra = arr.map(function(item){ console.log(item); return item*2; }); console.log(arra);//[6, 8, 70, 400, 2, 180, 8, 4, 108, 6, 162, 2] var arra1 = arr.forEach(function(item){ console.log(item); return item*2; }); console.log(arra1);//undefined
假設咱們有一個數組,每一個元素是一我的。你面前站了一排人。
people.forEach(function (dude) { dude.pickUpSoap(); });
var wallets = people.map(function (dude) { return dude.wallet; });
var totalMoney = wallets.reduce(function (countedMoney, wallet) { return countedMoney + wallet.money; }, 0);
- 補充一個 filter 的:你一個個錢包數過去的時候,裏面錢少於 100 塊的不要(留在原來的盒子裏),多於 100 塊的丟到一個新的盒子裏。這樣結束的時候你又有了一個新的數組,裏面是全部錢多於 100 塊的錢包:
var fatWallets = wallets.filter(function (wallet) { return wallet.money > 100; });
array.slice(start, end);返回數組的一部分
var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; var newarr = arr.slice(2); console.log(newarr);//[35, 200, 1, 90, 4, 2, 54, 3, 81, 1] //原數組沒有改變 console.log(arr);//[3, 4, 35, 200, 1, 90, 4, 2, 54, 3, 81, 1]
array.splice(start, length, value, ...); 插入、刪除或替換數組的元素 ;
var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; var newarr = arr.splice(2); //沒有第二個參數時,默認是截取到最後。返回截取出來的數組。 console.log(newarr);//[35, 200, 1, 90, 4, 2, 54, 3, 81, 1]; //原數組立馬發生了改變 console.log(arr);// [3, 4] var arr = [3,4,35,200,1,90,4,2,54,3,81,1]; var arr1 = arr.splice(2,5,'w','d','r','y','h'); console.log(arr1);// [35, 200, 1, 90, 4] //將原數組進行了改變! console.log(arr);//[3, 4, "w", "d", "r", "y", "h", 2, 54, 3, 81, 1]
array.concat(value, ...);拼接數組
var arr = [1,2,3]; console.log(arr.concat(4, 5)) //返回 [1,2,3,4,5] console.log(arr.concat([4,5])) //返回 [1,2,3,4,5] console.log(arr.concat([4,5],[6,7])) //返回 [1,2,3,4,5,6,7] console.log(arr.concat(4, [5,[6,7]])) //返回 [1,2,3,4,5,[6,7]]
Array.join(separator) 將數組元素鏈接起來以構建一個字符串
var arr = [1,2,3]; var arr1 = arr.join('+'); console.log(arr);// [1, 2, 3] console.log(arr1);//'1+2+3'