链接 链接
红皮书镇楼
sum-all-numbers-in-a-range
function sumAll(arr) {
var max = Math.max(arr[0], arr[1]);
var min = Math.min(arr[0], arr[1]);
var res = 0;
for (min; min <= max; min++) {
res += min;
}
return res
}
sumAll([1, 4]);
Diff Two Arrays
function diffArray(arr1, arr2) {
var newArr = [];
arr1.forEach(e => {
if (!arr2.includes(e)) {
newArr.push(e)
}
})
arr2.forEach(e => {
if (!arr1.includes(e)) {
newArr.push(e)
}
})
return newArr;
}
Seek and Destroy
function destroyer(arr) {
var len = arguments.length;
var newarr = []
for (var i = 1; i < len; i++) {
newarr.push(arguments[i])
}
newarr.forEach(e => {
arr = arr.filter(s => {
return e != s
})
})
return arr;
}
Wherefore art thou
function whatIsInAName(collection, source) {
var arr = [];
// Only change code below this line
var keys = Object.keys(source);
collection.forEach(e => {
var flag = keys.every(el => {
return source[el] == e[el]
})
if (flag) {
arr.push(e)
}
})
// Only change code above this line
return arr;
}
Spinal Tap Case
function spinalCase(str) {
str = str.replace(/_/g," ")
.replace(/([A-Z])/g," $1")
.replace(/^\s/,"")
.replace(/\s+/g,"-")
.toLowerCase();
return str;
}
Pig Latin
function translatePigLatin(str) {
var strat = "";
var yy = ["a", "e", "i", "o", "u"];
if (yy.includes(str.charAt(0))) {
str += "way";
} else {
var len = str.length;
for (var i = 0; i < len; i++) {
if (!yy.includes(str.charAt(i))) {
var splitarr = str.split("");
strat += splitarr[i];
continue;
} else {
break;
}
}
str = str.replace(strat, "");
str += strat + "ay";
}
return str;
}
Search and Replace
function myReplace(str, before, after) {
if (str.indexOf(before) != -1) {
var s;
if (/^[A-Z]+$/.test(before.charAt(0))) {
s = after.slice(0, 1).toUpperCase() + after.slice(1, after.length);
} else {
s = after.slice(0, 1).toLowerCase() + after.slice(1, after.length);
}
str = str.replace(before, s);
} else {
str = "This has a spelling error";
}
return str;
}
DNA Pairing
function pairElement(str) {
var arr1 = str.split("");
var at = ["A", "T"];
var cg = ["C", "G"];
str = arr1.map(e => {
if (at.indexOf(e) == 0) {
return ["A", "T"];
} else if (at.indexOf(e) == 1) {
return ["T", "A"];
} else if (cg.indexOf(e) == 0) {
return ["C", "G"];
} else if (cg.indexOf(e) == 1) {
return ["G", "C"];
} else {
return [];
}
});
return str;
}
Missing letters
function fearNotLetter(str) {
var zm = "abcdefghijklmnopqrstuvwxyz".split("");
var lastindex = zm.indexOf(str.slice(-1));
var fristindex = zm.indexOf(str.slice(0, 1));
var newzm = zm.slice(fristindex, lastindex + 1);
if (newzm.length == str.length) {
str = undefined;
} else {
var res = "";
newzm.forEach(e => {
if (!str.split("").some(a => a == e)) {
res += e;
}
});
str = res;
}
return str;
}
Sorted Union
function uniteUnique(arr) {
var len = arguments.length;
var arr3 = [];
for (var i = 1; i < len; i++) {
arr3.push(arguments[i]);
}
var arr2 = arr3.flat().map(e => {
if (!arr.includes(e)) {
arr.push(e);
}
});
return arr;
}
uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]);
Convert HTML Entities
function convertHTML(str) {
return str.replace(/[<>&"]/g, function(c) {
return {
"'": "'",
"<": "<",
">": ">",
"&": "&",
'"': """
}[c];
});
}