JavaScript|オブジェクト
16763 ワード
1.概念
1.1オブジェクトの構造
let memberObject = {
manager : 'kyeongi',
developer : 'suri',
designer: 'masuri',
["data scientist"] : 'haru'
}
let memberObject = {
manager : 'kyeongi',
developer : 'suri',
designer: 'masuri',
["data scientist"] : 'haru'
}
:
コロンで区切られ、対は,
カンマで区切られ、データ全体は{}
カッコで囲まれている.1.2オブジェクトの特徴
一人の情報を含むために様々な変数が必要であると仮定します.配列はデータを順番にリストするだけで、各要素に何の意味があるか分かりません.この場合、オブジェクトを使用できます.
配列内の要素には、インデックスで値にアクセスする順序があり、オブジェクトの値には意味があり、キーで値にアクセスします.
実際の生活例
大量の情報を含む使い捨て処理に使用されます.
1.3オブジェクトの属性C-R-U-D
memberObject.singer = 'junga' // 추가
memberObject.designer = 'musuri' // 변경
delete memberObject.developer; // 삭제
console.log(memberObject.designer); // 조회
console.log(memberObject["developer"]); // 조회 - 삭제 되어 undefined (객체에 없는 키를 조회하면 undefined 리턴)
let isPresent = 'developer' in memberObject; // false
let hasProperty = 'singer' in memberObject; // true
Dot notation vs Bracket notation
オブジェクトのプロパティをクエリーする方法は2つあります.実は「制御」のほうが正確だと思います.
dot notation
:近接点.
.bracket notation
:四角カッコ[]
でアクセスします.1.4オブジェクトと繰り返し文
オブジェクトに重複文を適用して、大量の情報を処理できます.オブジェクトは無秩序なため、ゼロから始まる重複文インデックスは使用できません.
for ... in
for in構文でオブジェクトのすべてのキーにアクセスおよび出力できます.
for (let key in memberObject) {
console.log(`${key} : ${memberObject[key]}`);
}
function extend(obj1, obj2) {
for (let key in obj2) {
if (!(key in obj1)) {
obj1[key] = obj2[key];
}
}
}
for ... of
stringやarray、類似配列などで使用できる重複文.
how to iterate objects
Object.keys()
:オブジェクトキーを要素とする配列を作成Object.values()
:オブジェクト値を要素とする配列を作成Object.entries()
:オブジェクトのキーと値のペアを要素とする二重配列を作成2.エラーログ
キーの名前が変更された場合は変数として挿入し、名前が指定されている場合は文字列として挿入します。(k1, k10)
オブジェクトをオブジェクトのキー値として再挿入することもできます。(k4)
if(true)を望む場合は、同治演算子を省略できます。(k7)
キー値をクエリーするobjを忘れないでください[key]
function removeArrayValues(obj) {
for (let key in obj) {
if (Array.isArray(obj[key])) {
delete obj[key];
}
}
}
'3' % 2 === 1 // true '3' > 1 // true (k8, k11)
template literalで改行文字を使用する方法(k 13)
インデックスが配列の長さより大きい場合はundefinedが返されます。(k14)
deleteキーを使用して、元のオブジェクトを変更します。(k15)
if (el in obj) // el이라는 key가 obj에 있는지 불리언 타입으로 내준다.
オブジェクトは配列内の要素としても表示されます。
in演算子は、ブールタイプを返します。
20日
function countAllCharacters(str) {
let obj = {};
let arr = str.split('');
for (let el of arr) {
if (obj[el] === undefined) {
obj[el] = 0
}
obj[el]++;
// 처음에 obj[el] = 0으로 시작을 하고 1을 더한다. 만약에 이미 있는 키라면 undefined가 아니므로 초기화가 안 되고 1이 더해진다!
}
return obj;
}
obj[el]++
.JavaScriptから文字列のスペースを削除します。
str = str.split(" ").join("");
この行は簡単です!21日
function mostFrequentCharacter(str) {
let obj = { mostCount: 0, mostFrequent: '' };
for (let i = 0; i < str.length; i++) {
if (str[i] === ' ') {
continue;
}
if (obj[str[i]] === undefined) {
obj[str[i]] = 0;
}
obj[str[i]] += 1;
if (obj[str[i]] > obj['mostCount']) {
obj['mostCount'] = obj[str[i]];
obj['mostFrequent'] = str[i];
}
}
return obj['mostFrequent'];
}
breakとcontinueの違い
20, 21
3.質問
letとconstの違いは変数が変わらないかどうかです.letは変数を再割り当てできますが、constは変数を再宣言したり、変数を再割り当てしたりすることはできません.letは、値を割り当てる前に変数を宣言する必要がありますが、そうではありません.そのため、エラーが発生しました.
Reference
この問題について(JavaScript|オブジェクト), 我々は、より多くの情報をここで見つけました https://velog.io/@starry3ones/TIL-객체テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol