Javascript實用方法

 

這篇我主要記錄一些在工做中經常使用的、實用的方法。git

String

trim

字符串方法中的trim主要用來去空格使用,不少時候,在後臺作參數處理的時候,咱們都會使用該方法,好比在獲取用戶輸入的帳戶時github

var a = String(' 1234 ');
var b = "hello world";

console.log(b.trim()); //hello world
console.log(a.trim()); //1234
console.log(a); // 1234

以上,能夠看出,trim方法去掉的是兩頭的空格,對中間的空格並不會產生影響。值得注意的是,trim方法,返回的是一個新的字符串,對原來的變量沒有影響。web

slice

slice方法用於切割字符串,用到的地方挺多的,好比在處理文件流的時候,咱們就能夠用slice來切割,固然,大多時候,也就僅僅是對字符串作一個簡單處理數組

var b = "hello world, I like you";

console.log(b.slice(13)); //I like you
console.log(b.slice(15,20)); //like
console.log(b.slice(15,-4)); //like
console.log(b); //hello world, I like you

slice方法,支持傳入兩個參數,開始位置與結束位置,傳入負數時,表明這次計數從末尾開始。異步

split

split方法用於將字符串分組存放,是經常使用的方法之一。可以讓咱們對分組好的字符串進行分組操做ui

var b = "hello world, I like you, and you?";

console.log(b.split()); //[ 'hello world, I like you, and you?' ]
console.log(b.split('')); //["h","e","l","l","o"," ","w","o","r","l","d",","," ","I",
" ","l","i","k","e"," ","y","o","u",","," ","a","n","d"," ","y","o","u","?"]
console.log(b.split(' ')); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]
console.log(b.split(' ',3)); //[ 'hello', 'world,', 'I' ]

以空字符分組的時候,會將字符串按每個字符來分組,這點很實用,能夠按字符分組,想一想都會以爲程序的世界也是鳥語花香啊~spa

substr、substring

都是用來截取字符串的,substr方法,支持傳入兩個參數,一個是開始位置,一個是截取長度,而substring的兩個參數一個是開始位置,一個是結束位置code

var b = "hello world, I like you, and you?";

console.log(b.substr()); //hello world, I like you, and you?
console.log(b.substr(13,10)); //I like you
console.log(b.substring(15,-9)); //hello world, I
console.log(b.substring(15,-1)); //hello world, I

因而可知,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;
}));  //[ 'I', 'like', 'you,', 'and', 'you?' ]

concat

concat方法可以將多個數組組合成一個數組,這在異步處理數據最後進行組裝的時候特別有用

var b = [ 'hello', 'world,', 'I', 'like'];
var a = [ 'you,', 'and', 'you?' ];
var c = [[1],[2]];

console.log(b.concat(a)); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]
console.log(b.concat(a).concat(c)); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?', [ 1 ], [ 2 ] ]

不少時候,在最後處理數據的時候,這種數組中嵌套了數組的狀況是比較煩的,不過很簡單,underscore有方法可以輕鬆解決它,你知道嗎?(๑•́ ₃ •̀๑)

forEach

forEach應該是用的最多的方法了吧,它的做用就是遍歷數組中的每個值,而後你就能夠對每個值進行操做了

var b = ['hello', 'world,', 'I', 'like', 'you,', 'and', 'you?'];

b.forEach(function (ele, index) {
    ele = ele + 1;
});
console.log(b); //[ 'hello', 'world,', 'I', 'like', 'you,', 'and', 'you?' ]

關於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;
})); //[ 'hello1', 'world,1', 'I1', 'like1', 'you,1', 'and1', 'you?1' ]

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)); //45

今天就先寫這麼多吧,細水長流~

你能夠很厲害,也能夠很堅強,baby~

如想了解更多,請移步個人博客

相關文章
相關標籤/搜索