之五:关于字符串以及数组的操纵
关于数组的操纵
先控制一些基础的数组操纵
concat // 用于拼接多个数组,接收多个参数
push // 从数组尾部插进去一个数,并返回新的数组长度
pop // 从数组尾部删除一个数,并返回被删除的数
shift // 从数组头部删除一个数,并返回被删除的数
unshift // 从数组头部插进去一个数,并返回新的数组的长度
sort // 将数组举行排序,能够通报一个参数,是一个函数,假如不传参默许是数字从小到大,字母从A到B
reverse // 将数组倒置,没有参数
slice // 截取并返回一个新的数组,能够传两个参数,截取最先的位置,和截取到的位置
splice // 能够传入多个参数,没有限定。第一个参数,找到一个参数的位置,第二个参数是删除的个数,剩的参数就是要插进去的数
join // 将一个数组变成一个字符串,有一个参数,能够指定之间的支解字符,假如不传参,默许是一个逗号
toString // 将一个数组变成一个字符串,用逗号分开
对字符串的操纵
对数组的操纵
indexOf // 接收一个参数,在字符串中搜刮的内容。返回正序搜刮的第一次涌现的位置。
lastindexOf // 接收一个参数,和上一个一样。倒叙搜刮,返回末了一次涌现的位置
charAt // 接收一个数字,是字符串的第几个字符串的位置,返回搜刮位置的那个数
concat // 衔接字符串
slice // 截取一个字符串,传两个参数,一个最先的位置,和一个完毕的位置支撑两个参数,返回一个新的字符串
spilt // 将一个字符串转化为一个数组
substr // 截取一个字符串,接收两个参数,第一个是截取字符串的最先的位置,以及截取的长度
toLowerCase // 将大写的英文转化为小写
toUpCase // 将小写的英文转化的小写
做两个题吧
截取一个url内里get体式格局的值,并转化为返回一个对象
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上代码
末了
下一次立时更新正则表达式专题。
对不起,更新晚了,人人一同加油,么么哒!