Day 61:)関数のタイプ、文字列、配列
10693 ワード
関数のタイプ
関数宣言(一般的な関数)の関数名 は省略できません.宣言前コールで を実行関数を再使用しない場合は、 を使用します.を使用して、不確定な関数名の匿名関数を変数 に代入する.無条件宣言後のコールは を実行できます.最初に呼び出すと、変数に関数が含まれる前に、定義されていない値 が表示されます.
重ね合わせ関数関数で宣言された関数 内部で定義された機能は、外部に露出することなく、特定の関数に使用することができる 関数をパラメータとして伝達する関数 関数の内部処理結果値を関数外部に導出場合は を用いる.匿名関数として を受け入れることもできる.関数(定義後)をかっこで囲み、 を直ちに呼び出す.を省略可能な関数名 変数宣言後、 を再呼び出すことができます.矢印関数は常に匿名 です.関数が1つの場所でのみ使用され、伝達されるコードが簡単である場合、 が推奨される.は、3つの演算子とともに を使用することができる.声明 Stringグローバルオブジェクト length:文字列長 を返します. split(セパレータ):文字列をセパレータで区切って配列に入れ、 を返します.置換(文字、置換文字):文字を置換文字に変更する substr(start,length):startから文字列 を返すサブ文字列(start,end):開始から終了までの戻り文字列(endは終了位置-1値) は、スペース を含む0から JavaScriptの配列は可変 である.
保証する length:タイル長 を返します.
push(値)アレイの末尾に新しい値 を追加配列の最後の値を削除し、 を返します.配列の初期値を削除し、 を返します.配列の先頭に新しい値 を追加
指定された場所を削除または追加するための値 index:値を削除または追加する場所(1から) を指定します. multi:削除する数を指定します.0入力時に を削除しない値:追加する値を指定します.スキップ時に削除できるのは のみです.
はすべての配列を接続し、1つの文字列 を形成する.で指定した関数を配列数で実行します.アレイでのみ使用可能な 指定された関数の配列数を実行し、返される値はtrueのみです. JSのMAPはJAVAのHashMapと似たようなデータ構造を持っている: 指定関数の戻り値を含む新しい配列 を作成します.
reduce()は各要素を処理し、戻り値を とする.
関数宣言(一般的な関数)
function 함수명(){}
<script>
fn();
function fn(){
alert("Hello, world");
}
</script>
関数式(匿名関数)var 변수명 = function(){}
<script>
var fn = function(){
alert("Hello, world");
};
fn();
</script>
重ね合わせ関数
function outer(){
function inner(){
}
inner();
};
function addSquares(a,b) {
function square(x) {
return x * x;
}
return square(a) + square(b);
};
a = addSquares(2,3); // returns 13
b = addSquares(3,4); // returns 25
c = addSquares(4,5); // returns 41
コールバック関数function 함수이름(callback){
...
callback(결과);
};
function 계산기(num1, num2, type){
if (type=='더하기'){
console.log("결과",num1+num2);
} else if (type=='곱하기'){
console.log("결과", num1*num2);
}
}
계산기(10,20, '더하기'); // 출력값 30
계산기(10,20, '곱하기'); // 출력값 200
パラメータfunction 계산기2(num1, num2, fn){
fn(num1, num2);
}
계산기2(100,200, function(a,b){
console.log(a*b);
})
// 출력값 20000
インスタント実行関数(function 함수명(){})();
(function (x) {
console.log(x+x);
})(3);
// 출력값 6
(a = function(x){
console.log(x*x);
})(2); // 출력값 4
a(3) // 출력값 9
矢印関数1. 매개변수가 없을 때
var 변수 = () => 수행문
2. 매개변수가 하나만 있을 때
var 변수 = 매개변수 => 수행문
var 변수 = (매개변수) => 수행문
3. 매개변수, 수행문이 복수일 때
var 변수 = (매개변수, 매개변수, 매개변수) => 수행문
var 변수 = (매개변수, 매개변수, 매개변수) => { 수행문; 수행문; }
var 변수 = (매개변수, 매개변수, 매개변수) => { 수행문; return 수행문; }
// 중괄호 사용 시 return으로 결과값 반환해야함
let sum = (a, b) => {
let result = a + b;
return result;
};
let age = prompt("나이를 알려주세요.", 18);
let welcome = (age < 18) ?
() => alert('안녕') :
() => alert("안녕하세요!");
welcome();
文字列var a = 'a';
var b = "b";
宣言var c = String(c); // 'c'
メイン番組var str1 = "안녕하세요";
console.log(str1.length);
// 출력값 5
主な方法var str2 = "자바!파이썬!자바스크립트!C";
var languages = str2.split("!");
// languages = ["자바","파이썬","자바스크립트","C"];
console.log(languages[0],languages[1],languages[2],languages[3]);
// 출력값: 자바 파이썬 자바스크립트 C
var str3 = "흰 옷과 흰 스니커즈를 신고 흰색 시계를 찬 사람";
console.log(str3.replace("흰","검은"));
// 첫번째 문자만 변경 됨
// 검은 옷과 흰 스니커즈를 신고 흰색 시계를 찬 사람
console.log(str3.replace(/흰/g,"검은"));
// 모든 문자가 변경됨
// 검은 옷과 검은 스니커즈를 신고 검은 시계를 찬 사람
var str4 = "나는 안녕합니다."
console.log(str4.substr(3,2)); // 안녕
console.log(str4.substring(3,5)); // 안녕
整列保証する
var arr = ["사과","오렌지","포도"];
console.log(arr.length);
// 출력값: 3
方法push(値)
arr.push("파인애플")
// ["사과","오렌지","포도", "파인애플"]
pop()arr.pop();
// 파인애플
arr
// 파인애플이 삭제되었으므로 ["사과","오렌지","포도"] 반환
shift()arr.shift();
// 사과
arr
// 사과가 삭제되었으므로 [오렌지","포도"] 반환
unshift(値)arr.unshift("키위")
// ["키위","오렌지","포도"]
splice(インデックス、複数[、値])指定された場所を削除または追加するための値
arr.splice(2,2);
// 2번째 자리에서부터 2개가 삭제됨 -> 오렌지, 포도 삭제
// ["키위"]
arr.splice(1,1,"바나나");
// 첫번째 자리에있는 키위를 삭제하고 바나나를 추가
// ["바나나"]
arr.splice(1,0,"망고");
// 첫번째 자리에 망고 추가.
// ["망고","바나나"]
join(接続する文字列)arr.join();
// 망고, 바나나
arr.join('');
// 망고바나나
arr.join(' 그리고 ');
// 망고 그리고 바나나
forEach()var foods = ["피자","햄버거","바게트"];
1. for문으로 표현하기
for(var b in array1){
console.log(array1[b]);
}
/*
* 피자
* 햄버거
* 바게트
*/
2. forEach문으로 표현하기
2-1. 요소 나열하기
foods.forEach(function(item){
console.log(item);
});
/*
* 피자
* 햄버거
* 바게트
*/
2-2. 요소와 index 나열하기
foods.forEach(function(item, index){
console.log(item, index);
});
/*
* 피자 0
* 햄버거 1
* 바게트 2
*/
2-3. 화살표 함수로 표현하기
foods.forEach((item, index) => console.log(item, index));
filter()var universe = ["지구","달","블랙홀","태양계","은하계","별"];
universe.filter(function(name, index){
return name.length == 3;
})
// 글자수가 3개인 단어 반환
// ["블랙홀","태양계","은하계"]
화살표함수 이용하기
universe.filter(name=>name.length==1);
// ["달","별"]
Map()배열.map(function(요소, 인덱스){ return 요소.배열key })
- 자바스크립트의 객체(key:value 쌍)
var data = [
{name:"홍길동", kor:100, eng:70, math:70},
{name:"김유신", kor:50, eng:60, math:55},
{name:"강감찬", kor:70, eng:50, math:40},
{name:"이순신", kor:80, eng:70, math:76},
{name:"유관순", kor:100, eng:80, math:80}
];
- Map을 이용해 새로운 배열 생성
1. 단일 값을 가진 배열
var names = data.map(function(student, index){
return student.name;
});
console.log("학생이름", names);
// data의 map속성으로 student라는 새로운 함수 생성 후 name만 반환하여 names에 저장
console.log("학생이름", names);
2. 다중 값을 가진 배열
var scores = data.map(function(student){
name: student.name,
total: student.kor + student.eng + student.math,
average: (student.kor + student.eng + student.math)/3,
})
console.log("성적",scores)
reduce()
배열.reduce(function(total, value){ return total + value; })
* total: 초기값은 0이며, return값이 전달됨
* value: 배열의 요소가 한개씩 들어감
var arr = [1,2,3,4,5]
var total = arr.reduce(total, value){
return total+value;
}
console.log(total) // 출력값: 15
0+1
1+2
3+3
6+4
10+5
reduce関数の複数の使い方:https://blog.naver.com/wideeyed/221877924629Reference
この問題について(Day 61:)関数のタイプ、文字列、配列), 我々は、より多くの情報をここで見つけました https://velog.io/@yoonee1126/Day61-함수의-종류-배열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol