一、输入两个字符串,从第一个字符串中删除第二个字符串中的所有字符串,不可以使用replace。
例如:输入“They are students” 和“aeiou”。 则删除之后的第一个字符串变成 “Thy r stdnts”
var str = "They are students";
var sen = "aeiou";
function deleteChar(s1, s2) {
if (s2.length < 1) {
return s1;
}
for (var i = 0; i < s2.length; i++) {
s1 = s1.split(s2[i]).join("")
}
return s1;
}
console.log(deleteChar(str, sen));
二、将字符串转换成驼峰命名法。
例如 get-element-by-id 变成 getElementById
var m1 = "get-element-by-id";
function changeStr(args) {
var arr = args.split("-");
var str = "";
for (var i = 0; i < arr.length; i++) {
if (i > 0) {
str += arr[i].charAt(0).toUpperCase() + arr[i].substr(1, arr[i].length - 1).toLowerCase();
}
else {
str += arr[i].toLowerCase();
}
}
return str;
}
console.log(changeStr(m1));
三、阶乘算法。
例如!4 123*4
function JIecheng(num) {
if (num == 1) {
return 1;
}
return num * JIecheng(num - 1);
}
console.log(JIecheng(5));
四、编制一个从字符串中收集数字字符(“0”’,“1”,…“9”)的函数CollectDigits(s),它从字符串s中顺序取出数字,并且合并为一个独立的字符串作为函数的返回值。例如函数调用CollectDigits(“1abc23def4”)的返回值是字符串"1234"。
var k1 = "1abc23def4";
function CollectDigits(str) {
var char = null;
var s = "";
for (var i = 0; i < str.length; i++) {
char = str.charAt(i);
if (!isNaN(char)) {
s += char;
}
}
return s;
}
console.log(CollectDigits(k1));
五、编制一个将两个字符串交叉合并的函数Merge(s1,s2),例如Merge(“123”,“abc”)的返回结果是"1a2b3c",如果两个字符串的长度不同,那么就将多余部分直接合并到结果字符串的末尾,如Merge(“123456”,’‘abc’’)的返回结果是”1a2b3c456”。
function Merge(s1, s2) {
var str = "";
for (var i = 0; i < s1.length; i++) {
str += s1[i] + (s1.length == i + 1 ? s2.substr(i, s2.length - i) : s2[i] ? s2[i] : "");//??????
}
return str;
}
console.log(Merge("123456", "abc"));
六、重复输出一个给定的字符串(str第一个参数)n 次 (num第二个参数)。如果第二个参数num不是正数的时候,返回空字符串。
function meter(str, num) {
if (num < 1) {
return "";
}
var s = "";
var count = 0;
while (count < num) {
count++;
s += str;
}
return s;
}
console.log(meter("abc", 7));
console.log(meter("abc", -1));
七、money数值转换成通用表示方法
var money = 10000000000000000;
console.log(money.toLocaleString());
八、add(1)(2)(3) 6
var add = function (n) {//1
var temp = function (m) {//2
//递归
return add(n + m);
}
//这里类似toString 方法的重写
temp.toString = function () {
return n;
}
return temp;
}
console.log(add(1)(2)(3)(4));//10