JavaScript 中通过“赋值模式”进行“数组解构”的例子是什么?

问题描述 投票:0回答:2

This MDN documentation on destructuring assignment说“对于objectarray解构,有两种解构模式:binding patternassignment pattern”。因此,应该有四种类型的解构语法:

  • 类型 1:通过绑定模式进行对象解构
  • 类型 2:通过绑定模式解构数组
  • 类型 3:通过赋值模式解构对象
  • 类型 4:通过赋值模式解构数组

我已经多次阅读了 MDN 文档页面,该页面似乎只提供了前 3 种类型的示例。谷歌搜索似乎也无济于事。

什么是类型 4 的例子?

谢谢!

更新一:

对于类型 3,MDN 提供了这个例子:

// This assigns a to numbers[0] , and b to number[1] 
({ a: numbers[0], b: numbers[1] } = obj);  

Type 4 的等效示例是什么?谢谢!

javascript arrays destructuring
2个回答
0
投票

通过 JavaScript 中的赋值模式进行数组解构允许您在单个语句中将数组中的值分配给单独的变量。这是一个例子:

const myArray = [1, 2, 3];
const [a, b, c] = myArray;
console.log(a); // 1
console.log(b); // 2
console.log(c); // 3

0
投票

以下是您列出的四种类型中每一种的示例:

// Type 1: Object destructuring via binding pattern
const person = {
  name: 'Alice',
  age: 30,
};

const { name, age } = person;

// Type 2: Array destructuring via binding pattern
const rgb = [255, 200, 100];

const [red, green, blue] = rgb;

// Type 3: Object destructuring via assignment pattern
const person = {
  name: 'Bob',
  age: 25,
};

let name, age;
({ name, age } = person);

// Type 4: Array destructuring via assignment pattern
const rgb = [255, 200, 100];

let red, green, blue;
[red, green, blue] = rgb;

// Type 4 (advanced example)
const obj = {
  numbers: [1, 2, 3, 4, 5],
};

let a, b;

// This assigns a to obj.numbers[0], and b to obj.numbers[1]
[a, b] = obj.numbers;
© www.soinside.com 2019 - 2024. All rights reserved.