先掌握一些基本的數組操做正則表達式
concat // 用於拼接多個數組,接受多個參數 push // 從數組尾部插入一個數,並返回新的數組長度 pop // 從數組尾部刪除一個數,並返回被刪除的數 shift // 從數組頭部刪除一個數,並返回被刪除的數 unshift // 從數組頭部插入一個數,並返回新的數組的長度 sort // 將數組進行排序,能夠傳遞一個參數,是一個函數,若是不傳參默認是數字從小到大,字母從A到B reverse // 將數組顛倒,沒有參數 slice // 截取並返回一個新的數組,能夠傳兩個參數,截取開始的位置,和截取到的位置 splice // 能夠傳入多個參數,沒有限制。第一個參數,找到一個參數的位置,第二個參數是刪除的個數,剩的參數就是要插入的數 join // 將一個數組變爲一個字符串,有一個參數,能夠指定之間的分割字符,若是不傳參,默認是一個逗號 toString // 將一個數組變爲一個字符串,用逗號分隔
對數組的操做數組
indexOf // 接受一個參數,在字符串中搜索的內容。返回正序搜索的第一次出現的位置。 lastindexOf // 接受一個參數,和上一個同樣。倒敘搜索,返回最後一次出現的位置 charAt // 接受一個數字,是字符串的第幾個字符串的位置,返回搜索位置的那個數 concat // 鏈接字符串 slice // 截取一個字符串,傳兩個參數,一個開始的位置,和一個結束的位置支持兩個參數,返回一個新的字符串 spilt // 將一個字符串轉化爲一個數組 substr // 截取一個字符串,接受兩個參數,第一個是截取字符串的開始的位置,以及截取的長度 toLowerCase // 將大寫的英文轉化爲小寫 toUpCase // 將小寫的英文轉化的小寫
截取一個url裏面get方式的值,並轉化爲返回一個對象app
var url = 'https://www.baidu.com/?sid=20510&dap=ipad&tab=novel&apple=ipad'; var obj = new Object(); url = url.substr(url.indexOf('?')+1); function getObj() { var key = url.slice(0, url.indexOf('=')); if (url.indexOf('&') === -1) { var value = url.slice(url.indexOf('=')+1, -1); obj[key] = value; return } else { var value = url.slice(url.indexOf('=')+1, url.indexOf('&')); url = url.substr(url.indexOf('&')+1); obj[key] = value; } arguments.callee(); } getObj(); console.log(obj);
還有一個題,字符串去重函數
// 數組去重(第一種方法) var str = 'asjijiiiiiiiiiiqodddddddddd034577777777777777d'; var newArr = []; var arr = str.slice(''); for (var i=0;i<arr.length;i++) { if (i + 1 === arr.length) { newArr.push(arr[i]); break; } for (var j = i+1;j<arr.length;j++) { if (arr[i] === arr[j]) { break; } if (j === arr.length-1) { newArr.push(arr[i]); } } } // 數組去重(第二種方法) var newArr = []; var arr = str.split(''); arr.sort(); for (var i=0;i<arr.length;i++) { if (i+1 === arr.length) { newArr.push(arr[i]); break; } if (arr[i+1] !== arr[i]) { newArr.push(arr[i]); } }
這個題的解法至少有六種,你們能夠發揮,歡迎你們在評論區po上代碼url
下一次立刻更新正則表達式專題。
對不起,更新晚了,你們一塊兒加油,麼麼噠!code