配列とオブジェクト


整列


順序のある値を表します.

アレイについて


1.順序はインデックスと呼ばれ、0から番号付けされ、1ではありません。

ex) 배열 myNumber가
[0] [1] [2] [3] [4] <- 인덱스(index)
73  98  86  61  96 <- 요소(element)

라고 할 때 배열을 가져오면
let myNumber = [73, 98, 86, 61, 96];
配列はカッコで作成され、配列内の各要素はカンマで区切られます.
値はインデックスを使用してアクセスされます.
ex)配列mynumber[3];//61
ex)配列mynumberの3番目のインデックスの値を変更するには、mynumber[3]=200;入力します.
あとはmynumber;入力
myNumber;//[73, 98, 86, 200, 96];いいですよ.
(練習問題1)
let fruits = [
'banana',
'apple',
'pineapple'
]; この時.
果物の2番目のインデックスの値は「パイナップル」です.
果物の3番目のインデックスの値は定義されていません.

(練習2)
let myNumber = [[13, 30], [73, 8], [44, 17]]; この時.
mynumberの最初のインデックスの値は[73,8]です.
mynumberの最初のインデックス値の0番目のインデックスの値は73です.

2.並べて長さを見つけることもできます。

ex) let myNumber = [73, 98, 86, 61]; 이라고 할 때
myNumber라는 배열의 길이를 알아내려면
myNumber.length; // 4
この場合、ポイント(dot)を使用して変数が持つ属性(property)にアクセスできます.
また、同じ長さの場合、インデックスを検索するという意味ではありませんので、0からではなく、1からです.
myNumber.lengthはmynumberの配列長という意味です.

.length


配列の名前の前.lengthを使用すると、インデックスを検索するわけではないので、0からではなく1から始まります.

3.配列から要素(要素)を追加できます。

ex) let myNumber = [73, 98, 86, 61]; 이라고 할 때
myNumber라는 배열 끝에 96이라는 값을 추가하려면
myNumber.push(96); // 5 가 나온다. 5번째에 추가되었다는 뜻이다.
그리고 myNumber;를 실행해보면 [73, 98, 86, 61, 96] 이 나온다.

この場合、ポイントを使用して関連するコマンド(メソッド)を実行することもできます.コマンドを実行するときは、関数を実行するようにカッコで開いたり閉じたりします.

.push()


配列の末尾に要素を追加し、追加する要素をカッコに入れます.

4.配列で要素(要素)を削除できます。

ex) let myNumber = [73, 98, 86, 61]; 이라고 할 때
myNumber라는 배열 마지막 값을 삭제하려면
myNumber.pop(); // 61 이 나온다. 배열의 마지막 값이 61이라는 뜻이다.
그리고 myNumber;를 실행해보면 [73, 98, 86] 이 나온다.

.pop()


配列の末尾の要素を削除します.カッコには何も含まれません.

くりかえしはいれつ


配列と重複文の組み合わせが多い!

ex) let myNum = [73, 98, 86, 61]; 이라고 할 때,
"배열 myNum의 n번째 인덱스"를 출력하자. // console.log(myNum[n]);

조건:
1. 숫자(n)는 0부터 시작한다. // let n = 0;
2. 숫자(n)를 배열의 길이보다 작을 때까지 반복한다. // n < myNum.length;
3. 숫자(n)는 1씩 증가한다. // n++ <- n = n + 1 대신 n++라고 쓸 수 있다.

for(let n = 0; n < myNum.length; n++) {
  console.log(myNum[n]);
}
(練習問題)
let myNum = [10, 20, 40, 10];
let sum = 0;
for( ; ; ) {
//繰り返す文法
}
console.log(sum);//80
そうすると、mynumのすべての要素を累計して追加するために必要な条件と重複する構文は?
必要条件:let n=0;n < myNum.length; n++
繰り返す構文:sum=sum+mynum[n];
for(let n = 0; n < myNum.length; n++) {
sum = sum + myNum[n];
}

重複する構文フローをコメントタグに設定します.
nは0から始まりsumも0と宣言した.
では0+10はsumにmynum配列を加えた0番目のインデックスの値です.では、和は10です.
そして10にmynum配列の最初のインデックスの値を加えて10+20になります.
このようにして、30+40、70+10、合計80の値であるべきである.
儀式は以下のように整理された.

sumの値を指定しない場合、sumはundefinedになり、undefinedにnumber値を加えるとNaN、すなわちNota Numberの値になります.
だから初期にsumの値を割り当てる!

配列ベースメソッド


1.タイル化するかどうかを確認する


Array.isArray()


特定の値が配列であるか否かを判別するために用いられる.チェックしたい相手を括弧に書く.
ex)letwords=[‘血’,‘汗’,‘涙’];
こんな時、
typeofwordsを検索すると「object」が表示されます.
typeofは文字列か数値かを区別できますが、配列かオブジェクトかは区別できません.だからアリーisArrayを使用します.
Array.isArray(words);//true
Array.isArray(["血"、"汗"、"涙");//true

2.タイル要素の追加と削除


ex) let arr = ['code', 'states'];
こんな時、
console.開発者ツールにtable(ARR)を入力すると、各インデックスの値がわかります.
ここにarr.push(「pre」)を入力し、コンソールを入力します.table(arr)を実行すると、「pre」値が「states」の後ろに追加されます.

では、逆に後ろの要素を削除しましょう.
pushの反意語はpopです.
arr.pop()を入力し、consoleを入力します.table(arr)を実行すると、pre値が削除されていることがわかります.

pushとpopは、後の要素を追加および削除する機能です.
後の要素を追加、削除する機能があれば、必ず前の要素を追加、削除する機能もあります.

.shift()


配列の前の要素を削除します.

.unshift()


配列の前の要素を追加し、カッコに追加する要素を入力します.

最終的なタイリングベースのクリーンアップ方法


後に要素を追加:push
次の要素を削除:pop
前の要素を追加:unshift
前の要素を削除する:shift

3.タイル要素が含まれているかどうかを確認する


.indexOf()


配列に値が存在するかどうかを決定し、検索する要素をカッコに書き出します.
結果値は配列のインデックス値です.
ex)let words = ['Radagast', 'the', 'Brown'];
こんな時、
検索する値がない場合は、-1が表示されます.

存在するかどうかを確認しようとすると
!== -入力1はtrueが存在することを示し、falseは存在しないことを示す.
ex)
words.indexOf('Brown') !== -1//true
words.indexOf("なし")!==1//false
関数を返す場合
function hasElememt(arr, element)
値はtrueまたはfalseです.

.includes()


配列に値が存在するかどうかを決定し、検索する要素をカッコに書き出します.
結果値はtrue of falseです.
ex)let words = ['Radagast', 'the', 'Brown'];
こんな時、
words.includes('Brown')//true
words.include(「値なし」)/false

オブジェクト


1.利用変数


会員アドレス帳を作成するとします.
let userFirstName = 'Steve';
let userLastName = 'Lee';
let userEmail = '[email protected]';
let userCity = 'Seoul';
もしそうであれば、アドレス帳には名前、電子メール、居住エリアが必要です.
他のユーザーを追加します.
let userFirstName = 'Steve';
let userLastName = 'Lee';
let userEmail = '[email protected]';
let userCity = 'Seoul';
let user2FirstName = 'Jason';
let user2LastName = 'Jeong';
let user2Email = '[email protected]';
let user2City = 'Busan';
このように複数の変数を宣言するたびに面倒で不便です.

2.利用配列


このときに並べてみましょう
ex)
let user = [
'Steve';
'Lee';
'[email protected]';
'Seoul';
];
let user2 = [
'Jason';
'Jeong';
'[email protected]';
'Busan';
];
この場合も問題が発生します.各値は1つの変数で構成されていますが、この場合、各インデックスにどのような情報が含まれているかを事前に知るだけでなく、インデックス・アクセスを使用すると可読性も低下します.

3.使用対象


このときオブジェクトを使用します.オブジェクトは、これらのアドレス帳に適した資料構造です.

1.オブジェクトは括弧で囲まれています。


ex)
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city: 'Seoul'
};

2.オブジェクトはキーと値のペア(key-valuepair)で構成されます。


キー(key):値(value)
キーを押します.
ex)
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city: 'Seoul'
};

3.キー値ペア(キー値ペア)をカンマで区切ります。


ex)
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city: 'Seoul'
};
このような多様な情報を組み合わせる場合、オブジェクトの使用は非常に便利です.

オブジェクトの値を使用します。


1. Dot notation


オブジェクトのプロパティを取得します.
ex)
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city: 'Seoul'
};
user.firstName;//'Steve'
user.city;//'Seoul'

2. Bracket notation


角カッコを使用して、角カッコに文字列タイプを入力します.
ex)
let user = {
firstName: 'Steve',
lastName: 'Lee',
email: '[email protected]',
city: 'Seoul'
};
user['firstName'];//'Steve'
user['city'];//'Seoul'
(練習問題)
let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
内容:「無料セットが面白い!
};
steveleeという名前のユーザーがSNSで新しい記事を発表しました.
彼が書いた文章は「無料コースが面白い!この内容をカッコ記号にインポートするにはどうすればいいですか?
tweet['content'];//'「無料セットが面白い!
tweet['content'] === tweet.content;//true

オブジェクトに値を追加します。


ポイント/カッコ記号を使用して値を追加できます。


ex)
let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
内容:「無料セットが面白い!
};
tweet[「category」=「雑談」;
tweet.isPublic = true;
tweet.tags=[##コードstaits',##無料レッスン];

値をオブジェクトに削除するには:


deleteキーを使用して削除できます。


ex)
let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
内容:「無料セットが面白い!
};
delete tweet.createAt;

オブジェクトの値を確認します。


in演算子を使用して、対応するキーがあるかどうかを確認できます。


ex)
let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12:03:33',
内容:「無料セットが面白い!
};
'content' in tweet;//true
'updatedAt' in tweet;//false