Aleksandrs
Aleksandrs

Reputation: 35

Destructuring values from object of the first index of array

How can I replace accessing the temp variable values from the following code extract? I have tried to get all values through the default JS code, however, I would like to use destructuring here

const temp = context.options[0]; // <----- here
const avoidPattern = [
    'foo', 'bar', 'abc', 'value', 'temp', 'num'
];


return [...avoidPattern, ...temp]

Upvotes: 2

Views: 3139

Answers (5)

Som Shekhar Mukherjee
Som Shekhar Mukherjee

Reputation: 8168

If you want to destructure the first element out of the options array.

  1. You can first destructure the options property from the context object.
  2. Then you can destructure the first item from the options array.

const context = { options: [1, 2, 3] };

// Destucture the options key property
const {options} = context
console.log(options) // [1,2,3]

// Next, destructure the first item from the array
const [first] = options
console.log(first) // 1

You can also combine the two steps mentioned above using the colon : operator, which is used to provide an alias while destructing an object.

const context = { options: [1, 2, 3] };

// Destucture the options property 
// and in the alias destructure the first item of the array
const {options: [first]} = context
console.log(first) // 1

Upvotes: 2

Nguyễn Văn Phong
Nguyễn Văn Phong

Reputation: 14218

An interesting that Array in JavaScript is an object, So you can destructure an array as object like this

const context = { options: [1, 2, 3] };
const { options } = context; // [1, 2, 3]
const {0:firstItem } = options;
console.log(firstItem);
As you can see, key of options array is integer number. Actually, it's index. In this way, you can destructure an array with the long array by index in the that way.

More details here: Object destructuring solution for long arrays?

Upvotes: 0

Siddhesh Shinde
Siddhesh Shinde

Reputation: 1

let arr=['data','title','image']; 

let [first]=arr[1];

console.log(first);

Upvotes: 0

DecPK
DecPK

Reputation: 25408

This can also be possible if we destructure object and array at the same time.

const context = { options: [1, 2, 3] };
const { options: [temp] } = context;

console.log(temp);

Upvotes: 6

hgb123
hgb123

Reputation: 14891

You might use this

const context = { options: [1,2,3] }
const [temp] = context.options;

console.log(temp)

Upvotes: 1

Related Questions