先掌握一些基本的数组操做正则表达式
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