w3cschool脚本算法编程实战课程
部分源码==》https://github.com/calamus0427/commonJS
翻转字符串算法挑战
function reverseString(str) {
str = str.split("").reverse().join("")
return str;
}
reverseString("hello");
阶乘算法挑战
function factorialize(num) {
let sum = num ;
if(num == 0){
return 1 ;
}else{
while(num > 1 ){
sum *= (num-1) ;
num -- ;
}
}
return sum;
}
factorialize(0);
回文算法挑战
function palindrome(str) {
str = str.replace(/[^a-zA-Z\d]/g, "");
return str.toLowerCase() == str
.split("")
.reverse()
.join("")
.toLowerCase();
}
palindrome("0_0 (: /-\ :) 0-0");
寻找最长的单词算法挑战
function findLongestWord(str) {
str = str.split(" ");
let len = str[0].length ;
for(let i = 0 ; i < str.length ; i++){
if(len <= str[i].length){
len = str[i].length ;
}
}
return len;
}
findLongestWord("The quick brown fox jumped over the lazy dog");
设置首字母大写算法挑战
function titleCase(str) {
str = str.split(" ");
for(let i = 0 ; i < str.length ; i++){
str[i] =str[i].substring(0, 1).toUpperCase() + str[i].substring(1).toLowerCase();
}
str = str.join(" ");
return str;
}
titleCase("sHoRt AnD sToUt");
寻找数组中的最大值算法挑战
function largestOfFour(arr) {
let newArr = [] ;
for(let i = 0 ; i < arr.length ; i ++){
let max = arr[i][0];
for(let j = 0 ; j < arr[i].length ; j++){
if(max <= arr[i][j]){
max = arr[i][j];
}
}
newArr.push(max);
}
return newArr;
}
largestOfFour([[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]]);
确认末尾字符算法挑战
function confirmEnding(str, target) {
// "Never give up and good luck will find you."
// -- Falcor
console.log(str,"|||",str.substring(str.length-target.length))
// return str.substring(str.length-target.length) == target;
return str.endsWith(target);
}
confirmEnding("Bastian", "n");
重复操作算法挑战
function repeat(str, num) {
// repeat after me
if(num < 0){
return ""
}else{
let newStr = "" ;
for(let i = 0 ; i < num ; i++){
newStr += str ;
}
return newStr;
}
}
repeat("abc", 3);
字符串截取算法挑战
function truncate(str, num) {
// Clear out that junk in your trunk
if(str.length <= num ){
return str;
}else{
if(num <=3 ){
return str.substring(0,num)+"...";
} else{
return str.substring(0,num-3)+"...";
}
}
}
truncate("Peter Piper picked a peck of pickled peppers", 14);
数组分割算法挑战
function chunk(arr, size) {
// Break it up.
var index = 0;
var newArray = [];
while(index < arr.length) {
newArray.push(arr.slice(index, index += size));
}
return newArray;
}
chunk(["a", "b", "c", "d"], 2);
数组截断算法挑战
function slasher(arr, howMany) {
// it doesn't always pay to be first
return arr.slice(howMany);
}
slasher([1, 2, 3], 2);
数组查询算法挑战
function mutation(arr) {
let first = arr[0].toLowerCase();
let target = arr[1].toLowerCase().split("") ;
for(let i = 0 ; i < target.length ; i++){
if(first.indexOf(target[i]) < 0 ){
return false ;
}
}
return true ;
}
mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]);
删除数组中特定值算法挑战
function bouncer(arr) {
// Don't show a false ID to this bouncer.
return arr.filter(params => Boolean(params));
}
function isBad(params){
var result = Boolean(params);
return result;
}
bouncer([7, "ate", "", false, 9]);
去除数组中任意多个值算法挑战
function destroyer(arr) {
var args = [];
for(var i = 1; i < arguments.length; i++){ //将待摧毁的值放入一个数组中,赋值给变量args
args.push(arguments[i]);
}
var newArr=arr.filter(function(item){ //两个数组去重;
return args.indexOf(item) === -1;
});
return newArr;
}
destroyer([1, 2, 3, 1, 2, 3], 2, 3);
数组排序并插入值算法挑战
function where(arr, num) {
// Find my place in this sorted array.
arr.push(num);
arr = arr.sort(function(x,y){ //将num扔进arr中之后排序;
return x-y;
});
console.log(arr);
return arr.indexOf(num);
}
where([3, 10, 5], 3);
位移密码算法挑战
function rot13(str) { // LBH QVQ VG!
var newArr=[];
for(var i=0;i<str.length;i++){
var numbers=str.charCodeAt(i); //使用charCodeAt()方法取得每个字符的Unicode值,并保存在变量numbers中;
if(numbers<65||numbers>90){
newArr.push(String.fromCharCode(numbers));
}else if(numbers>77){
newArr.push(String.fromCharCode(numbers-13));
}else{
newArr.push(String.fromCharCode(numbers+13));
}
} //大写A-Z字母对应的Unicode值为65-90;通过判断,利用fromCharCode()将Unicode值又转换为字符;
return newArr.join("");
}
// Change the inputs below to test
rot13("SERR PBQR PNZC");
w3cschool脚本算法编程实战课程的更多相关文章
- 七、Shell脚本高级编程实战第七部
一.写网络服务的系统启动脚本 利用case语句开发类似系统启动rsync服务的脚本 代码: #!/bin/sah. /etc/init.d/functionspidfile="/var/ru ...
- 九、Shell脚本高级编程实战第九部
一.监控mysql主从同步是否异常,如果异常,发送短信给管理员 1)开发一个守护进程脚本每30秒实现检测一次. 2)如果错误号是:1158.1159.1008.1007.1062,请跳过 3)请使用数 ...
- 六、Shell脚本高级编程实战第六部
一.写一个start_nginx脚本,当启动.停止.重启时利用系统函数模拟实现系统脚本启动的特殊颜色效果 (用if实现) #!/bin/sh. /etc/init.d/functions if [ $ ...
- 四、Shell脚本高级编程实战第四部
一.比较两个数的大小 #!/bin/shread -p "Pls input two num:" a b[ -z "$a" ] || [ -z "$b ...
- 三、Shell脚本高级编程实战第三部
保养好自己的发动机:身体的和心里的身体健康:打打球,跑跑步心里健康:多和大家接触,保持家人.朋友的良好关系一.$*和$@的区别 $*:获取shell的所有参数,将所有的参数视为单个字符串. $ ...
- 二、Shell脚本高级编程实战第二部
一.什么是变量? 变量就是一个固定的字符串替代更多更复杂的内容,当然内容里面可能还有变量.路径.字符串等等内容,最大的特点就是方便,更好开展工作 1.变量有环境变量(全局变量)和局部变量 环境变量就是 ...
- 一、Shell脚本高级编程实战第一部
Shell脚本语言是实现linux系统自动化管理的重要且必要的工具,几乎每一个合格的linux系统管理员或者高级运维工程师都要熟练shell脚本语言的编写,只有这样才能提升工作效率,解决工作中的重复劳 ...
- 八、Shell脚本高级编程实战第八部
一.使用for循环在/oldboy目录下创建10个文件名为oldboy-x的文件 #!/bin/sh[ ! -d /oldboy ] && mkdir -p /oldbfor i in ...
- 五、Shell脚本高级编程实战第五部
一.条件表达式 在bash的各种流程控制结构中通常要进行各种测试,然后根据测试结果执行不同的操作.有时也和if结合,让我们方便判断. test: 1)判断文件是否存在:test -f file 2) ...
随机推荐
- jsp中如何清除缓存(转)
<% response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 response.setHea ...
- 读懂 PetaLinux:让 Linux 在 Zynq 上轻松起“跑”(转)
对于Zynq这样一个“ARM+可编程逻辑”异构处理系统我们已经不陌生,其创新性大家也有目共睹.不过想要让更多的应用享受到这一“创新”带来的红利,让其真正“落地”则需要大量系统性的工作,去营造一个完善的 ...
- 螺旋矩阵 II
给定一个正整数 n,生成一个包含 1 到 n2 所有元素,且元素按顺时针顺序螺旋排列的正方形矩阵. 示例: 输入: 3 输出: [ [ 1, 2, 3 ], [ 8, 9, 4 ], [ 7, 6, ...
- Redis sortedset有效集合数据结构
1. 增加一个有效集合 2. 查看元素个数 3. zscore 4. zcount 5. 返回指定元素的索引 zrank 6.zincrby 给元素a加90分 7. zrange查看范围
- 【转】车和家CEO李想回顾创业20年:站在更高层才能看到低层问题
明天就要上班了,写一下我创业20年经历的五个楼层,每一层的认知回过头来看都是天壤之别,以及无比的幸运.只有到了更高一层,你才可以更好的看到低楼层的问题.希望对你的工作有所帮助. 一层楼,生为一个普通的 ...
- Video Test Pattern Generator(7.0)软件调试记录
Video Test Pattern Generator(7.0)软件调试记录 . XVidC_VideoMode XVIDC_VM_576_50_I = XVIDC_VM_720x576_50_I ...
- GetClass与RegisterClass的应用一例
利用GetClass与RegisterClass可以实现根据字符串来实例化具体的子类,这对于某些需要动态配置程序的场合是很有用的.其他的应用如子窗体切换,算法替换等都能得到应用. unit Examp ...
- JScript 正则表达式语法表
字符 描述 \ 标记下一个字符是特殊字符或文字.例如,"n" 和字符 "n" 匹配."\n" 则和换行字符匹配.序列 "\\&qu ...
- Azure REST API (4) 在Python环境下,使用Azure REST API
<Windows Azure Platform 系列文章目录> 之前遇到的项目中,客户需要在Python环境下,监控Azure VM的CPU利用率,在这里简单记录一下. 笔者的环境是Win ...
- pytest.7.常见套路
From: http://www.testclass.net/pytest/common_useage/ 在使用pytest的时候,下面这些问题我们可能会经常遇到,这里给出官方的解决方案,按照套路来执 ...