JGStyle
JGStyle

Reputation: 127

How to get specific keys from object? (JS)

I have this object:

728394 : {
    "playersAmount" : 2,
    "players" : {
      "LRFe9w9MQ6hf1urjAAAB" : {
        "nickname" : "spieler1",
        "type" : "player1"
      },
      "nKUDWEd5p_FCBO4sAAAD" : {
        "nickname" : "spieler2",
        "type" : "player2"
      },
      "ghdaWSWUdg27sf4sAAAC" : {
        "nickname" : "spieler3",
        "type" : "spectator"
      }
    },
    "activePlayer" : "LRFe9w9MQ6hf1urjAAAB",
    "board" : [
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0],
      [0, 0, 0, 0, 0, 0]
    ]
  }

How do I get everything of the object above except for the k/v pair "board"? is there any other way than just adding every key except the right one?

Upvotes: 0

Views: 57

Answers (4)

CherryDT
CherryDT

Reputation: 29012

You can create a copy and then delete the unwanted key:

const copy = { ...original }
delete copy.unwantedProperty

Of course you can instead delete the property on the original if you don't care about mutating it.

(Note: if your environment doesn't support the syntax { ...original }, you can use Object.assign({}, original) instead.)

EDIT: Actually, this answer is even neater.

Upvotes: 3

Max Mykal
Max Mykal

Reputation: 39

  const { board, ...everythingButBoard } = yourObject

Upvotes: 3

S K R
S K R

Reputation: 592

simple answer will be:

const copyObject = Object.assign({}, yourObject) // to make a copy of original variable
delete copyObject['keyToRemove'] // OR delete copyObject.keyToRemove

else if you want to delete from original variable:

delete yourObject['keyToRemove'] // OR delete yourObject.keyToRemove

Upvotes: 1

Juan Moreno
Juan Moreno

Reputation: 11

I think you can create a new object excluding this key using a for...in

object = {
  wantedKey: 'wantedValue',
  wantedKey2: 'wantedValue2',
  wantedKey3: 'wantedValue3',
  unwantedKey: 'unwantedValue'
}
const newObject = {}
for (const key in object) {
  if (key !== 'unwantedKey') newObject[key] = object[key]
}
console.log(newObject)

for more info about for...in: click here

Upvotes: 0

Related Questions