TIL 11,12
"""""""""
配列=array
オブジェクト=obj
.
📌 str[0]
文字列の0番目のインデックス出力
文字列「this」(文字列).
str[1]を入力と、
これは最初のインデックスt出力です.
.
📌 array[1]
配列内の最初のインデックス出力
.
📌 array.slice(スタート、終了)→end-1
[1.2.3.4.5.6.7],
array.入力slice(0,3)、//index 0からindex 2に出力
[1.2.3]出力した
array.入力slice(2,6)、//index 2からindex 5に出力
[3, 4, 5, 6]
.
📌 function allKeys (obj) {
for(letinsu in obj){/[key:value]を持つobjで、insu変数名としてすべてのkeyを指定します.変数名を繰り返します.
すなわち,[key:value]全体がobjである.
keyをinsu変数名として指定します.
では、objのvalue値を取得するには、次の手順に従います.→ obj[insu]
insuは変数名なのでobj['insu'とは書きません.
obj['insu'と書くとinsu変数名の値はnameになります
objnameを入力するとvalue値が呼び出されます.
.
詳細:
key:valueフォーマット、
「アンナ」がいます.←この部分全体を属性変数と呼ぶ.
ここで、propertyの値「Anna」を出力するには、次の2つの方法があります.
< Another example >
.
整列
要素:値
index:順序0から
元の配列を変更(修正)する方法
📌 .unshift()の一番前の要素を追加-戻り長さ
📌 .shift()の一番前の要素を削除-値付き
📌 .push()の末尾に要素を追加-戻り長さ
📌 .pop()の後ろの要素を削除-値付き
新しいアレイを返す方法(元のアレイを変更しない方法)
📌 .slice()
Array.prototype.sliceは開始から終了までターゲット配列から取り出し、新しい配列を作成して値を入れます.startとendが指定されていない場合は、配列全体をコピーします.→浅い放射
使用.unshift()の例
最後に要素を追加した配列を結果として得たいのですが、pushは「長さ」を返す方法なので書けませんが、、、どうすればいいのでしょうか.
▶▼このとき、Sliceはpushと一緒に使います~!
一番前に要素が追加された配列の結果を得たいのですが、unshiftは「長さ」を返すベソッドで、書けません.
▶▼このとき、sliceはunshiftと一緒に使います~!
let array = [1,2,3,4,5]
→array[4]はarrayを出力する4番目のインデックスであるため、最後の5つの出力である.
.
オブジェクト
配列vsオブジェクト
整列
対象:有意義
📌 for ... inオブジェクトの重複文
📌 for ... 複文
.
配列=array
オブジェクト=obj
.
📌 str[0]
文字列の0番目のインデックス出力
文字列「this」(文字列).
str[1]を入力と、
これは最初のインデックスt出力です.
.
📌 array[1]
配列内の最初のインデックス出力
.
📌 array.slice(スタート、終了)→end-1
[1.2.3.4.5.6.7],
array.入力slice(0,3)、//index 0からindex 2に出力
[1.2.3]出力した
array.入力slice(2,6)、//index 2からindex 5に出力
[3, 4, 5, 6]
.
📌 function allKeys (obj) {
for(letinsu in obj){/[key:value]を持つobjで、insu変数名としてすべてのkeyを指定します.変数名を繰り返します.
すなわち,[key:value]全体がobjである.
keyをinsu変数名として指定します.
では、objのvalue値を取得するには、次の手順に従います.→ obj[insu]
insuは変数名なのでobj['insu'とは書きません.
obj['insu'と書くとinsu変数名の値はnameになります
objnameを入力するとvalue値が呼び出されます.
.
詳細:
key:valueフォーマット、
「アンナ」がいます.←この部分全体を属性変数と呼ぶ.
ここで、propertyの値「Anna」を出力するには、次の2つの方法があります.
property.name
OR
property['name']
But❗️ 변수를 쓸 때는 bracket notation [ ] 사용 ❗️
→ 위에 insu 변수명 썼을때 obj[insu]라고만 써주는 이유.
.< Another example >
let obj = {
key : [ 'Tim' , 'Kim' ]
};
ここで、入力obj[key]
、出力値['Tim' , 'Kim']
..
整列
要素:値
index:順序0から
元の配列を変更(修正)する方法
📌 .unshift()の一番前の要素を追加-戻り長さ
📌 .shift()の一番前の要素を削除-値付き
📌 .push()の末尾に要素を追加-戻り長さ
📌 .pop()の後ろの要素を削除-値付き
新しいアレイを返す方法(元のアレイを変更しない方法)
📌 .slice()
Array.prototype.sliceは開始から終了までターゲット配列から取り出し、新しい配列を作成して値を入れます.startとendが指定されていない場合は、配列全体をコピーします.→浅い放射
let arr= [1,2,3] arr.slice()
→[1,2,3]
出力使用.unshift()の例
▪️ 배열의 첫번째 요소가 삭제된 배열을 리턴해야 합니다.
function removeFromFront(arr) {
return arr.shift
}
가 아니라❗️
function removeFromFront(arr) {
arr.shift();
return arr;
}
使用.shift()の例▪️ 배열의 마지막 요소가 삭제된 배열을 리턴해야 합니다.
function removeFromBack(arr) {
arr.pop()
return arr;
}
▶️ removeFromBack([1,2,3]) 입력시, [1,2] 가 출력된다. (제거되고 남은 값이 출력됨)
(원래 arr가 수정되는 원리)
⭐️ let arr= [1,2,3]
arr.pop();
▶️ 이 경우에는 3 이 출력된다.
(제거되는 값이 출력됨)
.slice()の使用例▪️ 배열의 마지막 요소가 제외된 **새로운 배열**을 리턴해야 합니다.
function removeFromBackOfNew(arr) {
return arr.slice(0, arr.length-1)
}
▶️ 새로운 배열을 리턴할 땐, 마지막 요소를 제거하여 기존 배열을 수정하는 .pop() 메소드를 사용하지 않는다.
.slice()わあ.push()の併用例最後に要素を追加した配列を結果として得たいのですが、pushは「長さ」を返す方法なので書けませんが、、、どうすればいいのでしょうか.
▶▼このとき、Sliceはpushと一緒に使います~!
▪️ 배열과 요소를 입력받아 새로운 요소가 맨 뒤에 추가된 **새로운 배열**을 리턴해야 합니다.
function addToBackOfNew(arr, el) {
const newArr = arr.slice(); ▶️ slice를 하면 새로운 배열이 탄생하기 때문에 새로운 변수인 newArr를 만들어줘서 그 속에 새 배열을 넣는것임
newArr.push(el); // 이 부분 계산값은 '길이'반환이지만,
return newArr; // 최종적으로 newArr 리턴하니까 결국 배열 자체를 반환하게 된다
}
.slice()わあ.unshift()との併用例一番前に要素が追加された配列の結果を得たいのですが、unshiftは「長さ」を返すベソッドで、書けません.
▶▼このとき、sliceはunshiftと一緒に使います~!
▪️ 배열과 요소를 입력받아 맨앞에 새로운 요소가 추가된 **새로운 배열**을 리턴해야 합니다.
function addToFrontOfNew(arr, el) { // arr=[1,2,3] el=0 이라고 치면
const newArr= arr.slice() // newArr=[1,2,3] (slice()로 복사만 했으니까)
newArr.unshift(el) // unshift는 길이 반환하니까, 이 부분 계산값은 4
return newArr; // 배열 자체를 리턴하니까, 최종적으로 [0,1,2,3] 출력
}
[元の配列を修正](Modify Original Array)と[新規配列](New Array)の比較▪️ 배열과 인덱스를 입력받아 해당 인덱스의 요소를 제외한 배열을 리턴해야 합니다.
🔶 push 사용
function getAllElementsButNth(arr, n) { ▶️ arr=[1,2,3] n=1 이라고 가정. (2를 뺄거임)
let result = [];
for (let i = 0; i < arr.length; i++) { i=0
if (i !== n) { i가 1이 아니라면 (i가 1인 차례가 오면 무시되고 바로 i=2로 넘어감. if문이 for문 안에 갇혀있으니, for문 안에서 계속 반복될수밖에 없음.)
result.push(arr[i]); [].push(arr[0]) 맨뒤에 요소추가 (길이반) [1]
}
}
return result; ▶️ 최종적으로 [1,3] 출력
}
▪️ 배열과 인덱스를 입력받아 해당 인덱스의 요소를 제외한 **새로운 배열**을 리턴해야 합니다.
🔶 slice 사용
function getAllElementsButNth(arr, n) {
if(n > arr.length) {
return arr;
}
let arr1= arr.slice(0,n)
let arr2= arr.slice(n+1,arr.length)
return arr1.concat(arr2);
}
アレイの最後の値を求めるlet array = [1,2,3,4,5]
array[array.length - 1]
/5出力です.→array[4]はarrayを出力する4番目のインデックスであるため、最後の5つの出力である.
.
オブジェクト
配列vsオブジェクト
整列
対象:有意義
📌 for ... inオブジェクトの重複文
📌 for ... 複文
.
let tweet = {
writer: 'stevelee',
createdAt: '2019-09-10 12-03:33',
content: '프리코스 재밌어요!'
};
입력 출력
tweet.content // -> "프리코스 재밌어요!"
tweet['content'] // -> "프리코스 재밌어요!"
Reference
この問題について(TIL 11,12), 我々は、より多くの情報をここで見つけました https://velog.io/@jenjenhub/TIL-1112テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol