這篇我主要記錄一些在工做中經常使用的、實用的方法。git
String
trim
字符串方法中的trim主要用來去空格使用,不少時候,在後臺作參數處理的時候,咱們都會使用該方法,好比在獲取用戶輸入的帳戶時github
var a = String(' 1234 ');
var b = "hello world";
console.log(b.trim());
console.log(a.trim());
console.log(a);
以上,能夠看出,trim方法去掉的是兩頭的空格,對中間的空格並不會產生影響。值得注意的是,trim方法,返回的是一個新的字符串,對原來的變量沒有影響。web
slice
slice方法用於切割字符串,用到的地方挺多的,好比在處理文件流的時候,咱們就能夠用slice來切割,固然,大多時候,也就僅僅是對字符串作一個簡單處理數組
var b = "hello world, I like you";
console.log(b.slice(13));
console.log(b.slice(15,20));
console.log(b.slice(15,-4));
console.log(b);
slice方法,支持傳入兩個參數,開始位置與結束位置,傳入負數時,表明這次計數從末尾開始。異步
split
split方法用於將字符串分組存放,是經常使用的方法之一。可以讓咱們對分組好的字符串進行分組操做ui
var b = "hello world, I like you, and you?";
console.log(b.split());
console.log(b.split(''));
" ","l","i","k","e"," ","y","o","u",","," ","a","n","d"," ","y","o","u","?"]
console.log(b.split(' '));
console.log(b.split(' ',3));
以空字符分組的時候,會將字符串按每個字符來分組,這點很實用,能夠按字符分組,想一想都會以爲程序的世界也是鳥語花香啊~spa
substr、substring
都是用來截取字符串的,substr方法,支持傳入兩個參數,一個是開始位置,一個是截取長度,而substring的兩個參數一個是開始位置,一個是結束位置code
var b = "hello world, I like you, and you?";
console.log(b.substr());
console.log(b.substr(13,10));
console.log(b.substring(15,-9));
console.log(b.substring(15,-1));
因而可知,substr、substring和slice這三者來講,各有所長(╯°O°)╯┻━┻
你能體會麼~不能體會的就留個言咯對象
Array
filter
filter可以按必定條件篩選出知足條件的數據,好比在後臺處理mongdb的id時,前臺傳過來的id必須得知足id.trim().length === 24ip
var b = [ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ];
console.log(b.filter(function (item){
return item.length < 5;
}));
concat
concat方法可以將多個數組組合成一個數組,這在異步處理數據最後進行組裝的時候特別有用
var b = [ 'hello', 'world,', 'I', 'like'];
var a = [ 'you,', 'and', 'you?' ];
var c = [[1],[2]];
console.log(b.concat(a));
console.log(b.concat(a).concat(c));
不少時候,在最後處理數據的時候,這種數組中嵌套了數組的狀況是比較煩的,不過很簡單,underscore有方法可以輕鬆解決它,你知道嗎?(๑•́ ₃ •̀๑)
forEach
forEach應該是用的最多的方法了吧,它的做用就是遍歷數組中的每個值,而後你就能夠對每個值進行操做了
var b = ['hello', 'world,', 'I', 'like', 'you,', 'and', 'you?'];
b.forEach(function (ele, index) {
ele = ele + 1;
});
console.log(b);
關於forEach,更準確的說對於Javascript中的對象,我一直以爲本身的理解已經夠解決遇到的通常問題了,可是這個forEach仍是給我帶來了難題。好比上面這個,我對ele進行改變以後,b數組並無按照我想象中的改變,結果是一成不變。而在在個人經歷中,forEach中對遍歷的值進行改變,它最終的結果使可以被改變的。所以,在這個變與不變之間,我沒有找到一條清晰的分界線…
map
說了forEach怎麼能夠沒有map,同是遍歷數組中的每個值,map可以將對這些值的操做進行返回爲一個新的數組
var b = ['hello', 'world,', 'I', 'like', 'you,', 'and', 'you?'];
console.log(b.map(function (ele){
ele = ele + 1;
return ele;
}));
reduce
再說說這個reduce吧,reduce方法遍歷數組的每個值,操做本身定,最後返回一個作了這些累積操做的值,經常使用來算和吧,實用的呢,它可以產生比filter更強力的功效,這個本身體會吧~
var summary = [1, 2, 3, 4, 5, 6, 7, 8, 9];
console.log(summary.reduce(function (pre, cur) {
pre += cur;
return pre;
}, 0));
今天就先寫這麼多吧,細水長流~
你能夠很厲害,也能夠很堅強,baby~
如想了解更多,請移步個人博客。