瀏覽代碼

test

master
Steven Dessers 2 年之前
父節點
當前提交
74a3953f4f

+ 31
- 0
array.js 查看文件

@@ -0,0 +1,31 @@
//let holdcabinet1 = ["duct tape", "gum", 3.14, false, 6.022e23];
//let holdcabinet2 = ["orange drink", "nerf toys", "camera", 42, "parsnip"];
//let holdcabinet3 = holdcabinet1.concat(holdcabinet2);

//holdcabinet1 = holdcabinet1.slice(1, 2);
//holdcabinet2 = holdcabinet2.slice(1, 2);
//holdcabinet3 = holdcabinet3.reverse();

//console.log(holdcabinet3)
//---------------------------------
//let str = "In space, no one can hear you code"

//console.log(str.split("e"))
//console.log(str.split(" "))
//-------------------------------------

//let arr = ["B", "n", "n", 5]
//arr = arr.join(" ")

//console.log(arr)
//-------------------------------------

let element1 = ["hydrogen", "H", 1008]
let element2 = ["helium", "He", 4.003]
let element3 = ["iron", "Fe", 55.85]
let table = []
table.push(element1)
table.push(element2)
table.push(element3)

console.log(table[0][2], table[1][0], table[2][1])

+ 0
- 0
booleansAndconditionals.js 查看文件


+ 31
- 0
functions.js 查看文件

@@ -0,0 +1,31 @@
function makeLine(size) {
let line = '';
for (let i = 0; i < size; i++) {
line += '#';
}
return line;
}

function makeSquare(size) {
let square = '';
for (let i = 0; i < size; i++) {
square += makeLine(size) + '\n';

}
return square.trimEnd();
}

function makeRectangle(width, height) {
let rectangle = '';
for (let i = 0; i < width; i++) {
rectangle += makeLine(width) + '\n';
for (let i = 0; i < height; i++) {
rectangle += makeLine(height) + '\n';

}
}
return rectangle.trimEnd()

}

console.log(makeRectangle(5, 3))

+ 41
- 0
loop.js 查看文件

@@ -0,0 +1,41 @@
//for (let i = 3; i <= 29; i += 2) {
//
//console.log(i)
//
//}

//for (let i = 12; i >= -14; i -= 2) {
// console.log(i)
//}

//for (let i = 50; i >= 20; i--) {
// if (i % 3 === 0)
// console.log(i)
//}

//let bla = "Launchcode";
//let reversed = "";
//let kak = [1, 5, "LC101", "blue", 42];
//for (let i = 0; i < kak.length; i++) {
// console.log(kak[i]);
//}
//for (let i = 0; i < bla.length; i++) {
// reversed = bla[i] + reversed;
//}
//console.log(reversed)

let bla = [2, 3, 13, 18, -5, 38, -10, 11, 0, 104];
let evens = [];
let odd = [];

for (let i = 0; i < bla.length; i++) {
if (bla[i] % 2 === 0) {
evens.push(bla[i]);
}
else {
odd.push(bla[i]);
}

}
console.log(evens)
console.log(odd)

+ 21
- 0
node_modules/readline-sync/LICENSE 查看文件

@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2019 anseki

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

+ 89
- 0
node_modules/readline-sync/README-Deprecated.md 查看文件

@@ -0,0 +1,89 @@
# readlineSync

## <a name="deprecated_methods_and_options"></a>Deprecated Methods and Options

The readlineSync current version is fully compatible with older version.
The following methods and options are deprecated.

### <a name="deprecated_methods_and_options-setprint_method"></a>`setPrint` method

Use the [`print`](README.md#basic_options-print) option.
For the [Default Options](README.md#basic_options), use:

```js
readlineSync.setDefaultOptions({print: value});
```

instead of:

```js
readlineSync.setPrint(value);
```

### <a name="deprecated_methods_and_options-setprompt_method"></a>`setPrompt` method

Use the [`prompt`](README.md#basic_options-prompt) option.
For the [Default Options](README.md#basic_options), use:

```js
readlineSync.setDefaultOptions({prompt: value});
```

instead of:

```js
readlineSync.setPrompt(value);
```

### <a name="deprecated_methods_and_options-setencoding_method"></a>`setEncoding` method

Use the [`encoding`](README.md#basic_options-encoding) option.
For the [Default Options](README.md#basic_options), use:

```js
readlineSync.setDefaultOptions({encoding: value});
```

instead of:

```js
readlineSync.setEncoding(value);
```

### <a name="deprecated_methods_and_options-setmask_method"></a>`setMask` method

Use the [`mask`](README.md#basic_options-mask) option.
For the [Default Options](README.md#basic_options), use:

```js
readlineSync.setDefaultOptions({mask: value});
```

instead of:

```js
readlineSync.setMask(value);
```

### <a name="deprecated_methods_and_options-setbuffersize_method"></a>`setBufferSize` method

Use the [`bufferSize`](README.md#basic_options-buffersize) option.
For the [Default Options](README.md#basic_options), use:

```js
readlineSync.setDefaultOptions({bufferSize: value});
```

instead of:

```js
readlineSync.setBufferSize(value);
```

### <a name="deprecated_methods_and_options-noechoback_option"></a>`noEchoBack` option

Use [`hideEchoBack`](README.md#basic_options-hideechoback) option instead of it.

### <a name="deprecated_methods_and_options-notrim_option"></a>`noTrim` option

Use [`keepWhitespace`](README.md#basic_options-keepwhitespace) option instead of it.

+ 1836
- 0
node_modules/readline-sync/README.md
文件差異過大導致無法顯示
查看文件


+ 24
- 0
node_modules/readline-sync/lib/encrypt.js 查看文件

@@ -0,0 +1,24 @@
/*
* readlineSync
* https://github.com/anseki/readline-sync
*
* Copyright (c) 2019 anseki
* Licensed under the MIT license.
*/

var cipher = require('crypto').createCipher(
process.argv[2] /*algorithm*/, process.argv[3] /*password*/),
stdin = process.stdin,
stdout = process.stdout,
crypted = '';

stdin.resume();
stdin.setEncoding('utf8');
stdin.on('data', function(d) {
crypted += cipher.update(d, 'utf8', 'hex');
});
stdin.on('end', function() {
stdout.write(crypted + cipher.final('hex'), 'binary', function() {
process.exit(0);
});
});

+ 123
- 0
node_modules/readline-sync/lib/read.cs.js 查看文件

@@ -0,0 +1,123 @@
/* jshint wsh:true */

/*
* readlineSync
* https://github.com/anseki/readline-sync
*
* Copyright (c) 2019 anseki
* Licensed under the MIT license.
*/

var
FSO_ForReading = 1, FSO_ForWriting = 2,
PS_MSG = 'Microsoft Windows PowerShell is required.' +
' https://technet.microsoft.com/en-us/library/hh847837.aspx',

input = '', fso, tty,
options = (function(conf) {
var options = {}, arg, args =// Array.prototype.slice.call(WScript.Arguments),
(function() {
var args = [], i, iLen;
for (i = 0, iLen = WScript.Arguments.length; i < iLen; i++)
{ args.push(WScript.Arguments(i)); }
return args;
})(),
confLc = {}, key;

function decodeArg(arg) {
return arg.replace(/#(\d+);/g, function(str, charCode) {
return String.fromCharCode(+charCode);
});
}

for (key in conf) {
if (conf.hasOwnProperty(key))
{ confLc[key.toLowerCase()] = {key: key, type: conf[key]}; }
}

while (typeof(arg = args.shift()) === 'string') {
if (!(arg = (arg.match(/^\-+(.+)$/) || [])[1])) { continue; }
arg = arg.toLowerCase();
if (confLc[arg]) {
options[confLc[arg].key] =
confLc[arg].type === 'boolean' ? true :
confLc[arg].type === 'string' ? args.shift() : null;
}
}
for (key in conf) {
if (conf.hasOwnProperty(key) && conf[key] === 'string') {
if (typeof options[key] !== 'string') { options[key] = ''; }
else { options[key] = decodeArg(options[key]); }
}
}
return options;
})({
display: 'string',
displayOnly: 'boolean',
keyIn: 'boolean',
hideEchoBack: 'boolean',
mask: 'string'
});

if (!options.hideEchoBack && !options.keyIn) {
if (options.display) { writeTTY(options.display); }
if (!options.displayOnly) { input = readByFSO(); }
} else if (options.hideEchoBack && !options.keyIn && !options.mask) {
if (options.display) { writeTTY(options.display); }
if (!options.displayOnly) { input = readByPW(); }
} else {
WScript.StdErr.WriteLine(PS_MSG);
WScript.Quit(1);
}

WScript.StdOut.Write('\'' + input + '\'');

WScript.Quit();

function writeTTY(text) {
try {
tty = tty || getFso().OpenTextFile('CONOUT$', FSO_ForWriting, true);
tty.Write(text);
} catch (e) {
WScript.StdErr.WriteLine('TTY Write Error: ' + e.number +
'\n' + e.description + '\n' + PS_MSG);
WScript.Quit(e.number || 1);
}
}

function readByFSO() {
var text;
try {
text = getFso().OpenTextFile('CONIN$', FSO_ForReading).ReadLine();
} catch (e) {
WScript.StdErr.WriteLine('TTY Read Error: ' + e.number +
'\n' + e.description + '\n' + PS_MSG);
WScript.Quit(e.number || 1);
}
return text;
}

// TTY must be STDIN that is not redirected and not piped.
function readByPW() {
var text;
try {
text = WScript.CreateObject('ScriptPW.Password').GetPassword()
// Bug? Illegal data may be returned when user types before initializing.
.replace(/[\u4000-\u40FF]/g, function(chr) {
var charCode = chr.charCodeAt(0);
return charCode >= 0x4020 && charCode <= 0x407F ?
String.fromCharCode(charCode - 0x4000) : '';
});
} catch (e) {
WScript.StdErr.WriteLine('ScriptPW.Password Error: ' + e.number +
'\n' + e.description + '\n' + PS_MSG);
WScript.Quit(e.number || 1);
}
writeTTY('\n');
return text;
}

function getFso() {
if (!fso) { fso = new ActiveXObject('Scripting.FileSystemObject'); }
return fso;
}

+ 128
- 0
node_modules/readline-sync/lib/read.ps1 查看文件

@@ -0,0 +1,128 @@
# readlineSync
# https://github.com/anseki/readline-sync
#
# Copyright (c) 2019 anseki
# Licensed under the MIT license.

Param(
[string] $display,
[switch] $displayOnly,
[switch] $keyIn,
[switch] $hideEchoBack,
[string] $mask,
[string] $limit,
[switch] $caseSensitive
)

$ErrorActionPreference = 'Stop' # for cmdlet
trap {
# `throw $_` and `Write-Error $_` return exit-code 0
$Host.UI.WriteErrorLine($_)
exit 1
}

function decodeArg ($arg) {
[Regex]::Replace($arg, '#(\d+);', { [char][int] $args[0].Groups[1].Value })
}

$options = @{}
foreach ($arg in @('display', 'displayOnly', 'keyIn', 'hideEchoBack', 'mask', 'limit', 'caseSensitive')) {
$options.Add($arg, (Get-Variable $arg -ValueOnly))
}
$argList = New-Object string[] $options.Keys.Count
$options.Keys.CopyTo($argList, 0)
foreach ($arg in $argList) {
if ($options[$arg] -is [string] -and $options[$arg])
{ $options[$arg] = decodeArg $options[$arg] }
}

[string] $inputTTY = ''
[bool] $silent = -not $options.display -and
$options.keyIn -and $options.hideEchoBack -and -not $options.mask
[bool] $isCooked = -not $options.hideEchoBack -and -not $options.keyIn

# Instant method that opens TTY without CreateFile via P/Invoke in .NET Framework
# **NOTE** Don't include special characters of DOS in $command when $getRes is True.
# [string] $cmdPath = $Env:ComSpec
# [string] $psPath = 'powershell.exe'
function execWithTTY ($command, $getRes = $False, $throwError = $False) {
if ($getRes) {
$res = (cmd.exe /C "<CON powershell.exe -Command $command")
if ($LastExitCode -ne 0) {
if ($throwError) { throw $LastExitCode }
else { exit $LastExitCode }
}
return $res
} else {
$command | cmd.exe /C ">CON powershell.exe -Command -"
if ($LastExitCode -ne 0) {
if ($throwError) { throw $LastExitCode }
else { exit $LastExitCode }
}
}
}

function writeTTY ($text) {
execWithTTY ('Write-Host (''' +
(($text -replace '''', '''''') -replace '[\r\n]', '''+"`n"+''') + ''') -NoNewline')
}

if ($options.display) {
writeTTY $options.display
}
if ($options.displayOnly) { return "''" }

if (-not $options.keyIn -and $options.hideEchoBack -and $options.mask -eq '*') {
# It fails when it's not ready.
try {
$inputTTY = execWithTTY ('$text = Read-Host -AsSecureString;' +
'$bstr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($text);' +
'[Runtime.InteropServices.Marshal]::PtrToStringAuto($bstr)') $True $True
return '''' + $inputTTY + ''''
} catch {} # ignore
}

if ($options.keyIn) { $reqSize = 1 }

if ($options.keyIn -and $options.limit) {
$limitPtn = '[^' + $options.limit + ']'
}

while ($True) {
if (-not $isCooked) {
$chunk = [char][int] (execWithTTY '[int] [Console]::ReadKey($True).KeyChar' $True)
} else {
$chunk = execWithTTY 'Read-Host' $True
$chunk += "`n"
}

if ($chunk -and $chunk -match '^(.*?)[\r\n]') {
$chunk = $Matches[1]
$atEol = $True
} else { $atEol = $False }

# other ctrl-chars
if ($chunk) { $chunk = $chunk -replace '[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]', '' }
if ($chunk -and $limitPtn) {
if ($options.caseSensitive) { $chunk = $chunk -creplace $limitPtn, '' }
else { $chunk = $chunk -ireplace $limitPtn, '' }
}

if ($chunk) {
if (-not $isCooked) {
if (-not $options.hideEchoBack) {
writeTTY $chunk
} elseif ($options.mask) {
writeTTY ($options.mask * $chunk.Length)
}
}
$inputTTY += $chunk
}

if ((-not $options.keyIn -and $atEol) -or
($options.keyIn -and $inputTTY.Length -ge $reqSize)) { break }
}

if (-not $isCooked -and -not $silent) { execWithTTY 'Write-Host ''''' } # new line

return "'$inputTTY'"

+ 137
- 0
node_modules/readline-sync/lib/read.sh 查看文件

@@ -0,0 +1,137 @@
# readlineSync
# https://github.com/anseki/readline-sync
#
# Copyright (c) 2019 anseki
# Licensed under the MIT license.

# Use perl for compatibility of sed/awk of GNU / POSIX, BSD. (and tr)
# Hide "\n" from shell by "\fNL"

decode_arg() {
printf '%s' "$(printf '%s' "$1" | perl -pe 's/#(\d+);/sprintf("%c", $1)/ge; s/[\r\n]/\fNL/g')"
}

# getopt(s)
while [ $# -ge 1 ]; do
arg="$(printf '%s' "$1" | grep -E '^-+[^-]+$' | tr '[A-Z]' '[a-z]' | tr -d '-')"
case "$arg" in
'display') shift; options_display="$(decode_arg "$1")";;
'displayonly') options_displayOnly=true;;
'keyin') options_keyIn=true;;
'hideechoback') options_hideEchoBack=true;;
'mask') shift; options_mask="$(decode_arg "$1")";;
'limit') shift; options_limit="$(decode_arg "$1")";;
'casesensitive') options_caseSensitive=true;;
esac
shift
done

reset_tty() {
if [ -n "$save_tty" ]; then
stty --file=/dev/tty "$save_tty" 2>/dev/null || \
stty -F /dev/tty "$save_tty" 2>/dev/null || \
stty -f /dev/tty "$save_tty" || exit $?
fi
}
trap 'reset_tty' EXIT
save_tty="$(stty --file=/dev/tty -g 2>/dev/null || stty -F /dev/tty -g 2>/dev/null || stty -f /dev/tty -g || exit $?)"

[ -z "$options_display" ] && [ "$options_keyIn" = true ] && \
[ "$options_hideEchoBack" = true ] && [ -z "$options_mask" ] && silent=true
[ "$options_hideEchoBack" != true ] && [ "$options_keyIn" != true ] && is_cooked=true

write_tty() {
# if [ "$2" = true ]; then
# printf '%b' "$1" >/dev/tty
# else
# printf '%s' "$1" >/dev/tty
# fi
printf '%s' "$1" | perl -pe 's/\fNL/\r\n/g' >/dev/tty
}

replace_allchars() { (
text=''
for i in $(seq 1 ${#1})
do
text="$text$2"
done
printf '%s' "$text"
) }

if [ -n "$options_display" ]; then
write_tty "$options_display"
fi
if [ "$options_displayOnly" = true ]; then
printf "'%s'" ''
exit 0
fi

if [ "$is_cooked" = true ]; then
stty --file=/dev/tty cooked 2>/dev/null || \
stty -F /dev/tty cooked 2>/dev/null || \
stty -f /dev/tty cooked || exit $?
else
stty --file=/dev/tty raw -echo 2>/dev/null || \
stty -F /dev/tty raw -echo 2>/dev/null || \
stty -f /dev/tty raw -echo || exit $?
fi

[ "$options_keyIn" = true ] && req_size=1

if [ "$options_keyIn" = true ] && [ -n "$options_limit" ]; then
if [ "$options_caseSensitive" = true ]; then
limit_ptn="$options_limit"
else
# Safe list
# limit_ptn="$(printf '%s' "$options_limit" | sed 's/\([a-z]\)/\L\1\U\1/ig')"
limit_ptn="$(printf '%s' "$options_limit" | perl -pe 's/([a-z])/lc($1) . uc($1)/ige')"
fi
fi

while :
do
if [ "$is_cooked" != true ]; then
# chunk="$(dd if=/dev/tty bs=1 count=1 2>/dev/null)"
chunk="$(dd if=/dev/tty bs=1 count=1 2>/dev/null | perl -pe 's/[\r\n]/\fNL/g')"
else
IFS= read -r chunk </dev/tty || exit $?
chunk="$(printf '%s\fNL' "$chunk")"
fi

# if [ -n "$chunk" ] && [ "$(printf '%s' "$chunk" | tr '\r' '\n' | wc -l)" != "0" ]; then
# chunk="$(printf '%s' "$chunk" | tr '\r' '\n' | head -n 1)"
if [ -n "$chunk" ] && printf '%s' "$chunk" | perl -ne '/\fNL/ or exit 1'; then
chunk="$(printf '%s' "$chunk" | perl -pe 's/^(.*?)\fNL.*$/$1/')"
at_eol=true
fi

# other ctrl-chars
if [ -n "$chunk" ]; then
# chunk="$(printf '%s' "$chunk" | tr -d '\00-\10\13\14\16-\37\177')"
# for System V
chunk="$(printf '%s' "$chunk" | tr -d '\00\01\02\03\04\05\06\07\10\13\14\16\17\20\21\22\23\24\25\26\27\30\31\32\33\34\35\36\37\177')"
fi
if [ -n "$chunk" ] && [ -n "$limit_ptn" ]; then
chunk="$(printf '%s' "$chunk" | tr -cd "$limit_ptn")"
fi

if [ -n "$chunk" ]; then
if [ "$is_cooked" != true ]; then
if [ "$options_hideEchoBack" != true ]; then
write_tty "$chunk"
elif [ -n "$options_mask" ]; then
write_tty "$(replace_allchars "$chunk" "$options_mask")"
fi
fi
input="$input$chunk"
fi

if ( [ "$options_keyIn" != true ] && [ "$at_eol" = true ] ) || \
( [ "$options_keyIn" = true ] && [ ${#input} -ge $req_size ] ); then break; fi
done

if [ "$is_cooked" != true ] && [ "$silent" != true ]; then write_tty "$(printf '%b' '\fNL')"; fi

printf "'%s'" "$input"

exit 0

+ 1329
- 0
node_modules/readline-sync/lib/readline-sync.js
文件差異過大導致無法顯示
查看文件


+ 68
- 0
node_modules/readline-sync/package.json 查看文件

@@ -0,0 +1,68 @@
{
"_from": "readline-sync",
"_id": "readline-sync@1.4.10",
"_inBundle": false,
"_integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw==",
"_location": "/readline-sync",
"_phantomChildren": {},
"_requested": {
"type": "tag",
"registry": true,
"raw": "readline-sync",
"name": "readline-sync",
"escapedName": "readline-sync",
"rawSpec": "",
"saveSpec": null,
"fetchSpec": "latest"
},
"_requiredBy": [
"#USER",
"/"
],
"_resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
"_shasum": "41df7fbb4b6312d673011594145705bf56d8873b",
"_spec": "readline-sync",
"_where": "C:\\Users\\Gebruiker\\classroom\\lerenprogrammeren\\frontend-avond-javascript-oefeningen",
"author": {
"name": "anseki",
"url": "https://github.com/anseki"
},
"bugs": {
"url": "https://github.com/anseki/readline-sync/issues"
},
"bundleDependencies": false,
"deprecated": false,
"description": "Synchronous Readline for interactively running to have a conversation with the user via a console(TTY).",
"engines": {
"node": ">= 0.8.0"
},
"files": [
"lib/*.@(js|ps1|sh)",
"README-Deprecated.md"
],
"homepage": "https://github.com/anseki/readline-sync",
"keywords": [
"readline",
"synchronous",
"interactive",
"prompt",
"question",
"password",
"cli",
"tty",
"command",
"repl",
"keyboard",
"wait",
"block"
],
"license": "MIT",
"main": "./lib/readline-sync.js",
"name": "readline-sync",
"repository": {
"type": "git",
"url": "git://github.com/anseki/readline-sync.git"
},
"title": "readlineSync",
"version": "1.4.10"
}

+ 11
- 0
package-lock.json 查看文件

@@ -0,0 +1,11 @@
{
"requires": true,
"lockfileVersion": 1,
"dependencies": {
"readline-sync": {
"version": "1.4.10",
"resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.10.tgz",
"integrity": "sha512-gNva8/6UAe8QYepIQH/jQ2qn91Qj0B9sYjMBBs3QOB8F2CXcKgLxQaJRP76sWVRQt+QU+8fAkCbCvjjMFu7Ycw=="
}
}
}

+ 0
- 12
strings.js 查看文件

@@ -1,12 +0,0 @@
//console.log (length)
//console.log (toLowerCase)
// toUppercase \\
// om een bepaalde letter aan te duiden [] beginnen tellen van 0
// charCodeAt, charcodenummer.
// fromCharcode[66]
// \n newline...
// \t = tab
// \u(nummer)d unicode
// immutable = kan niet veranderd worden
// $() kan je een waarde/naam geven in een variabele
//

strings and arrays.js → stringsandarrays.js 查看文件

@@ -32,3 +32,7 @@
// methodchaining verschillende eigenschappen meegeven
// .split('').reverse().join('')

let kaka = "Steven is";


console.log(kaka.length)

+ 30
- 0
stringsandarraysbis.js 查看文件

@@ -0,0 +1,30 @@


//let kak = 123.45;

//If(kak.includes)

//console.log(String(kak).length);


let dna = (" TCG-TAC-gaC-TAC-CGT-CAG-ACT-TAa-Cca-GTC-cAt-AGA-GCT ");
dna = dna.trim();
dna = dna.toUpperCase();
dna = dna.replace("GCT", "AGG");
console.log("The dna stand is " + dna.length + " lang");

//dna = dna.indexOf("CAT")////

//if (dna.indexOf("CAT") > 0) {
// console.log("CAT found")

//}
//else {
// console.log("CAT not found")
//}
//let codon = dna.slice(16, 19);
//console.log(codon);

console.log(dna.toString().slice(16, 19));
console.log(dna);


+ 26
- 0
stringsandarraystris.js 查看文件

@@ -0,0 +1,26 @@
//let bla = 'JavaScript'
//console.log("The abbreviation for " + bla + " is " + bla.slice(0, 1) + bla.slice(4, 5))

//let title = "title case";

//console.log(title = title.slice(0, 1).toUpperCase() + "itle" + " " + title.slice(6, 7).toUpperCase() + "ase");


//let practicefile = [42, "hello", false, -4.6, "87"]
//console.log(practicefile)

let cargoHold = ["oxygen tanks", "space suits", "parrot", "instuction manual", "meal packs", "slinky", "security blanket"];
//cargoHold.splice(5, 2);
//cargoHold.push("space tether", "security blanket");
cargoHold[5] = "Space tether"
cargoHold.pop();
cargoHold.shift();
cargoHold.unshift("1138");
cargoHold.push("20 meters");
cargoHold.splice(3, 0, "keys");
cargoHold.splice(4, 1);


//cargoHold.push("push");

console.log(cargoHold + " " + cargoHold.length);

+ 22
- 0
test.js 查看文件

@@ -0,0 +1,22 @@
//let rlSync = require('readline-sync');
//let name = rlSync.question("What's your name?\n");
//console.log(`Good Morning, ${name}!`);
function pyramid(n) {



for (let i = 1; i <= n; i++) {

let str = ' '.repeat(n - i);

let str2 = '*'.repeat(i * 2 - 1)



console.log(str + str2 + str);

}

}

pyramid(5);

+ 24
- 0
whileloop.js 查看文件

@@ -0,0 +1,24 @@
let fuelLevel = 4000;
let fuelMin = 5000;
let fuelMax = 30000;
let astronautsOnBoard = 10;
let altitude = 50;
while (fuelMin <= fuelLevel) {
if (fuelLevel < 5000) {
console.log("te weinig brandstof")
} else
console.log(fuelMin)
fuelMin++;
}

let minAstronaut = 1;
let maxAstronaut = 8;
while (minAstronaut <= astronautsOnBoard) {
console.log(minAstronaut);
minAstronaut++;
if (minAstronaut === 8) {
break;
}
}

//let fuelStatus =

Loading…
取消
儲存