//Check for Palindromes functionpalindrome(str) {var s,s1;
s=s1=str.replace(/[\s,.(\)\\/\-_]/g,"").toLowerCase();
var arr=s1.split("").reverse().join("");
// Good luck!
console.log(s1);
if(arr==s)
returntrue;
elsereturnfalse;
}
palindrome(eye);
//Find the Longest Word in a String functionfindLongestWord(str) {var arr=[];
var _=str.split(" ");
for(var i=0;i<_.length;i++){
arr.push(_[i].length);
}
console.log(arr);
returnMath.max.apply(null,arr);
}
findLongestWord("The quick brown fox jumped over the lazy dog");
//Title Case a Sentence functiontitleCase(str) {var arr=str.split(" ");
console.log(arr);
arr=arr.map(function(x){return x.toLowerCase().replace(/()/,function(v){return v.toUpperCase();});
});
return arr.join(" ");
}
titleCase("I'm a little tea pot");
//Return Largest Numbers in Arrays
//右边大数组中包含了4个小数组,分别找到每个小数组中的最大值,然后把它们串联起来,形成一个新数组
functionlargestOfFour(arr) {
// You can do this!
var _=[];
for(var i=0;i<arr.length;i++){
_.push(Math.max.apply(null,arr[i]));
}
return _;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
//Confirm the EndingfunctionconfirmEnding(str, target) {// "Never give up and good luck will find you."// -- Falcorvar len=target.length;
if(target==str.substr(-len)){
returntrue;
}else{
returnfalse;
}
}
confirmEnding("Bastian", "n");
//Repeat a string repeat a stringfunctionrepeat(str, num) {// repeat after mevar s=str;
var s1="";
if(num>=0){
for(var i=0;i<num;i++){
s1+=s;
}
return s1;
}else{
return"";
}
}
repeat("abc", 3);
//Truncate a string
function truncate(str, num) {
// Clear out that junk in your trunk
var s=str;
var len=str.length;
if(len>num){
if(num>3){
s=str.slice(0,num-3)+"...";
}else{
s=str.slice(0,num)+"...";
}
}else{
console.log(s);
return s;
}
return s;
}
truncate("A-tisket a-tasket A green and yellow basket", 11);
//Chunky Monkey 数组切割functionchunk(arr, size) {// Break it up
var count=arr.length%size == 0 ? arr.length / size : Math.floor(arr.length / size) +1;
var _arr=[];
for(var i=0;i<count;i++){
_arr.push(arr.slice(size*i,size*(i+1)));
}
console.log(_arr);
return _arr;
}
chunk(["a", "b", "c", "d"], 2);
//Slasher Flick 截断数组,返回截断后的数组functionslasher(arr, howMany) {// it doesn't always pay to be firstvar newArr=arr;
if(howMany>0){
newArr.splice(0,howMany);//splice改变了原数组,现在结果是[3],返回的是[1,2]return newArr;
}elsereturn newArr;
}
slasher([1, 2, 3], 2);
//Falsy Bouncer 删除数组中所有假值functionbouncer(arr) {// Don't show a false ID to this bouncer.return arr.filter(function(x){returnBoolean(x);
});
}
bouncer([7, "ate", "", false, 9]);
//Seek and Destroy 第一个参数是待摧毁的数组,其余的参数是待摧毁的值。// [].slice.call(arguments)functiondestroyer(arr) {// Remove all the valuesvar _=arguments[0];
var arg=[];
for(var j=1;j<arguments.length;j++){
arg.push(arguments[j]);
}
for(var i=0;i<arg.length;i++){
_=_.filter(function(f){return f!=arg[i];
});
}
return _;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
//Where do I belong 先给数组排序,然后找到指定的值在数组的位置,最后返回位置对应的索引functionwhere(arr, num) {// Find my place in this sorted array.var _=arr;
_.push(num);
return _.sort(function(a,b){return a-b;}).indexOf(num);
}
where([40, 60], 50);