js部分
使用js实现一个方法convert,将foo-bar这种形式的输入转成fooBar这种驼峰式.
function convert(str) {
if (typeof str !== 'string') return;
var arr = str.split('-'),
i = str.charAt(0) != '-' ? 1 : 0;
for (; i < arr.length; i++) {
var o = arr[i].charAt(0),
n = arr[i].charAt(0).toUpperCase();
arr[i] = arr[i].replace(o, n);
}
return arr.join('');
}
字符串操作方法
方法名
charAt()
用途
检索指定位置对应的字符,返回对应字符或空;
例子
var str = "Hello world!";
str.charAt(4) // o
方法名
charCodeAt()
用途
检索指定位置对应字符的 ASCII 码,返回对应字符的 ASCII 码或NaN;
例子
var str = "Hello world!";
str.charCodeAt(4) // o ==> 111
方法名
fromCharCode()
用途
检索指定位置对应字符的 ASCII 码,返回对应字符的 ASCII 码或NaN;
例子
String.fromCharCode(97); // a
方法名
indexOf()
用途
查找字符串中对应的字符下标,返回字符下标或 -1;
例子
var str = "Hello world!";
str.indexOf("o") // 4
str.indexOf("o", 5); // 7 ;
注:参数 `5` 为要查找的起始下标(包含该下标);
该参数为 [0 ~ str.length - 1] 之间的整数;
方法名
lastIndexOf()
用途
同indexOf(),逆序查找;
例子
var str = "Hello world!";
str.lastIndexOf("o") // 4
str.lastIndexOf("o", 5); // 4
注:参数 `5` 为要查找的起始下标(包含该下标);
该参数为 [0 ~ str.length - 1] 之间的整数;
方法名
replace()
用途
替换指定字符或字符串,返回新字符串,不改变原字符串;
例子
replace(old, new); // old为被替换字符,new为替换字符;
var str = "Hello world!";
str.replace("o", "0") // "hell0 w0rld";
方法名
toUpperCase()
用途
把小写字母转换为大写,返回转换后的字符串,不改变原字符串;
例子
var str = "Hello world!";
str.toUpperCase() // "HELLO WORLD!"
方法名
toLowerCase()
用途
把大写字母转换为小写,返回转换后的字符串,不改变原字符串;
例子
var str = "Hello world!";
str.toLowerCase() // "hello world!"
方法名
trim()
用途
去除字符串前后空格,返回去除空格后的字符串,不改变原字符串;
例子
var str = " Hello world! ";
str.trim(); // "Hello world!"
方法名
split()
用途
把字符串以指定分隔符分隔成数组,返回分隔后的数组,不改变原字符串;
例子
var str = "Hello world!";
str.split(" ") // ["Hello", "world!"] 以空格为分隔符
方法名
substr()
用途
字符串截取,返回被截取的字符串,不改变原字符串;
substr(start, length)
注:start 为截取起始下标
length 为截取长度
length 可以不加,则截取到字符串末尾;
例子
var str = " Hello world! ";
str.substr(2, 3) // "llo"
方法名
substring()
用途
字符串截取,返回被截取的字符串,不改变原字符串;
substring(from, to);
注:from 为截取起始下标,to 为截取结束位置
to 可以不加,则截取到字符串末尾;
// 返回结果:包含 from ,不包含 to;
[from, to)
例子
var str = " Hello world! ";
str.trim(); // "Hello world!"