JavaScript関数のクリーンアップ


split


split()関数を使用して文字列を一定の区切り文字に切り取り、配列として格納します.
新しい文字配列を返す
const str = "abc";

const arr = str.split("");

console.log(arr[0]); //a
console.log(arr[1]); //b
console.log(arr[2]); //c
const str = "apple,banana,orange";

const arr = str.split(",", 2);

document.writeln(arr.length); // 2
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // undefined
const str = "apple,banana,orange";

const arr = str.split(",");

document.writeln(arr.length); // 3
document.writeln(arr[0]); // apple
document.writeln(arr[1]); // banana
document.writeln(arr[2]); // orange

join


join()メソッドは、配列内のすべての要素を文字列に接続します.
分裂に反対する.
const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

repeat


repeat()メソッドは、所定の回数で繰り返し貼り付けられる新しい文字列を返します.
var str = "Hi";

console.log(str.repeat(0)); // 
console.log(str.repeat(1)); //hi
console.log(str.repeat(2)); //hihi
console.log(str.repeat(3)); //hihihi
'abc'.repeat(-1);   // RangeError (반복횟수는 양의 정수여야함.)
'abc'.repeat(0);    // ''
'abc'.repeat(1);    // 'abc'
'abc'.repeat(2);    // 'abcabc'
'abc'.repeat(3.5);  // 'abcabcabc' (소수점 뒷자리는 버려짐)

substring


substring()メソッドは、文字列オブジェクトの開始インデックスから終了インデックスまで、文字列の一部の文字列を返します.
const str = 'Mozilla';

console.log(str.substring(1, 3));
// expected output: "oz"

console.log(str.substring(2));
// expected output: "zilla"

substrは残留関数と見なされ,できるだけ避けるべきである.コアJavaScript言語の一部ではなく、将来削除できます。可能な場合はsubstring()メソッドを使用します。


silce

const animals = ['ant', 'bison', 'camel', 'duck', 'elephant'];

console.log(animals.slice(2));
// expected output: Array ["camel", "duck", "elephant"]

console.log(animals.slice(2, 4));
// expected output: Array ["camel", "duck"]

console.log(animals.slice(1, 5));
// expected output: Array ["bison", "camel", "duck", "elephant"]

console.log(animals.slice(-2));
// expected output: Array ["duck", "elephant"]

console.log(animals.slice(2, -1));
// expected output: Array ["camel", "duck"]

Math.min


Math.min()関数は、与えられた数値の最小値を返す
次の式は、xおよびyの小さな値を検索し、zに割り当てます.
var x = 10, y = -20;
var z = Math.min(x, y);

Math.max


Math.max()関数は、入力値として受信した0以上の数値のうち最大の数値を返します.
console.log(Math.max(1, 3, 2));
// expected output: 3

console.log(Math.max(-1, -3, -2));
// expected output: -1

const array1 = [1, 3, 2];

console.log(Math.max(...array1));
// expected output: 3

math.sqrt


math.sqrt()平方根の数学の方法を求めます

parseInt, Number


文字列を整数に変換する関数です.
"1234"-> 1234

String, toString


数値を文字列に変換する関数です.
String()、オブジェクト.toString();

toStringには、進数変換機能もあります。

var value = 10;
// 10진법 -> 2, 8, 16 진법으로 변환
value.toString(2);    // 1010
value.toString(8);    // 12
value.toString(16);   // a
var bin = 1010,
    oct = 12,
    hex = 'a';
// 2, 8, 16 진법 -> 10진법으로 변환
Number.parseInt(bin, 2);    // 10
Number.parseInt(oct, 8);    // 10
Number.parseInt(hex, 16);   // 10

Number.isInteger


Number.isInteger():整数かチェック
出力整数はtrueまたはfalse

reduce


reduce()メソッドは、アレイ内の各要素に対して所与のreducer関数を実行し、結果値を返します.
    <script>
        a=[10,11,12,13,14,15];
        let answer=a.reduce(function(acc,i){
            return acc+i;
        }, 0);
        console.log(answer);
    </script>
結果値
75
ここでaccは0です
以前のように10を意味するわけではありません.
return 0 + 10
retrun 10 + 11
21 + 12..........このままずっと歩いて行こう
return値をaccに減算
アキュムレータ(acc)
現在値(cur)
現在のインデックス(idx)
ソースアレイ(src)
reducer関数の戻り値は計算機に割り当てられ、計算機はループを維持するため、最終結果は値になります.
const array1 = [1, 2, 3, 4];
const reducer = (previousValue, currentValue) => previousValue + currentValue;

// 1 + 2 + 3 + 4
console.log(array1.reduce(reducer));
// expected output: 10

// 5 + 1 + 2 + 3 + 4
console.log(array1.reduce(reducer, 5));
// expected output: 15

forEach


:コール.ドアの代わりに使う
functionforEach(predicate,thisArg):最初は関数です.callback関数の内部には、この関数を使用する子供が渡されます.
2つの因子を受けなければならない.このArgは省略できますが、関数をスキップする必要があります.
1つ目は値、2つ目はインデックス
コールバック関数として関数にパラメータを使用する必要があります.
            a=[10,11,12,13,14,15];
            a.forEach(function(v, i){
                console.log(v, i);
            });
結果値
10 0
11 1
12 2
13 3
14 4
15 5
            a=[10,11,12,13,14,15];
            a.forEach(function(v, i){
                console.log(v, i, this);
            }, [1,2]);
結果値

map


要素を1つずつブラウズして新しいアレイを作成します.
            a=[10,11,12,13,14,15];
            let answer=a.map(function(v,i){
                return v*v;
            });
            console.log(answer);
結果値

偶数のみを保存しようとします
            a=[10,11,12,13,14,15];
            let answer=a.map(function(v,i){
                if(v%2==0) return v;
            });
            console.log(answer);
でもこれじゃ偶数値しか保存されてないみたいですよね?推測を表す
元の配列は長さと同じです.
結果値

mapは、元のアレイ要素を使用して新しいアレイを作成します.新しいアレイは元のアレイと同じ長さです.
https://7942yongdae.tistory.com/48[プログラマーYD]

filter


新しい配列を作成し、受信します.
コールバック関数から参照を返す要素のみを新しいアレイに作成します.
元のアレイ要素を抽出します.
        a=[10,11,12,13,14,15];
        let answer=a.filter(function(v,i){
            return v%2==0;
        });
        console.log(answer);
結果値

map、filter、reduceの違い


mapの用途は、元の配列を使用して新しい配列を生成することであり、元の配列と同じ長さの配列を生成する必要があります。


filterは、ソース配列の要素から新しい配列の要素を抽出しますが、長さが異なる場合があります。


reduceは配列内の要素であり、関数を起動して値を蓄積し続ける機能を有する。


矢印関数

let sum = (a, b) => a + b;

/* 위 화살표 함수는 아래 함수의 축약 버전입니다.

let sum = function(a, b) {
  return a + b;
};
*/

alert( sum(1, 2) ); // 3
let sum = (a, b) => {  // 중괄호는 본문 여러 줄로 구성되어 있음을 알려줍니다.
  let result = a + b;
  return result; // 중괄호를 사용했다면, return 지시자로 결괏값을 반환해주어야 합니다.
};

alert( sum(1, 2) ); // 3

よく使われる正規表現


https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jeongju02&logNo=221517177533

test


test()メソッドは、指定された文字列が正規表現を満たすかどうかを決定し、trueまたはfalseを返します.

sort


sort()メソッドは、配列内の要素を適切な位置に並べ替え、配列を返します.ソートは安定したsortではないかもしれません.デフォルトのソート順は、文字列内のUnicodeコードポイントに従います.
const months = ['March', 'Jan', 'Feb', 'Dec'];
months.sort();
console.log(months);
// expected output: Array ["Dec", "Feb", "Jan", "March"]

const array1 = [1, 30, 4, 21, 100000];
array1.sort();
console.log(array1);
// expected output: Array [1, 100000, 21, 30, 4]

sortの昇順、降順を使用

const numbers = [15, 52, 23, 11, 9]; 

// 오름차순 정렬, 원본 배열 수정
numbers.sort((a, b) => a - b); 
console.log(numbers); // [9, 11, 15, 23, 52] 

// 내림차순 정렬, 원본 배열이 다시 수정 
numbers.sort((a, b) => b - a); 
console.log(numbers); // [52, 23, 15, 11, 9]

indexOf


テキストの場所を検索
keskkset
s.indexOf('k');
結果:0
プール:0番インデックスにkがあります
s.indexOf('k', 1);
結果:3
プール:1番インデックスの後、3番インデックスにkがあります
見つからない場合は、結果値は-1です.