JS-Object(対象)2



前のオブジェクトのクリーンアップと例
出典:replit/説明の下に記入

オブジェクトの遍歴


前回説明したように、オブジェクトは配列とは異なり、順序がなく、キーでしかアクセスできません.
つまり、対象となるツアーは「無順序保障ツアー」です.
したがって,並べられた重複文とは異なり,巡回を行う.

Object.keys()

Object.keysメソッドは、あるオブジェクトが所有するキーリストを배열に返すメソッドです.
<例>
const obj = {
  name: 'melon',
  weight: 4350,
  price: 16500,
  isFresh: true
}

Object.keys(obj) // ['name', 'weight', 'price', 'isFresh']
配列を返すため、重複文を使用できます.
const keys = Object.keys(obj) // ['name', 'weight', 'price', 'isFresh']

for (let i = 0; i < keys.length; i++) {
  const key = keys[i] // 각각의 키
  const value = obj[key] // 각각의 키에 해당하는 각각의 값
  console.log(value)
}

Object.values() / Object.entries()

Object.valuesは、非オブジェクトキー値からなる配列を返す.Object.entriesは、オブジェクトのキーと値のペアからなる長さ2の配列を返します.
<例>
const values = Object.values(obj)
// values === ['melon', 4350, 16500, true]

const entries = Object.entries(obj)

/*
entries === [
  ['name', 'melon'],
  ['weight', 4350],
  ['price', 16500],
  ['isFresh', true]
]
*/

for-in


他の巡回対象の方法はfor-inゲートである.
これは、オブジェクトと配列のためにES 6に追加された構文です.
const obj = {
  name: 'melon',
  weight: 4350,
  price: 16500,
  isFresh: true
}

for (let key in obj) {
  const value = obj[key]

  console.log(key)
  console.log(value)
}

Cloning


<例>
const user = { name: 'ellie', age: '20' };
const user2 = user;
user2.name = 'coder';
console.log(user); // {name: "coder", age: "20"}

//old way
const user3 = {}; //빈 객체를 할당 
for (key in user){
  user3[key] = user[key];
}
console.log(user3); // {name: "coder", age: "20"}

//new way
const user4 = Object.assign(user4,user);
console.log(user4); // {name: "coder", age: "20"}

//another example
const fruit1 = { color: 'red'};
const fruit2 = {color: 'blue', size: 'big'};
const mixed = Object.assign({},fruit1,fruit2);
console.log(mixed.color); // blue
console.log(mixed.size); // big
console.log(mixed.color)から赤色が出力されるのは、果物1、果物2に同じタンパク質があれば、その値を覆うためである.
出典:YouTube「Dream Coding by Elly」
( https://www.youtube.com/watch?v=1Lbr29tzAA8 )