使用js对象分割数组(数组,对象)

检查如何使用从 ES2015 引入的解构赋值。通过使用解构赋值,可以一次执行所有赋值,这提高了处理的可见性。

数组

按顺序存储

元素按顺序存储。如下述例子所示,也可以指定跳过第三个要素。

const z = [1, 2, 3, 4]
let a, b, c

[a, b,, c] = z

console.log(a)  // 1
console.log(b)  // 2
console.log(c)  // 4

保存所有剩余部分

可用于将所有剩余部分存储在最后一个变量中。

使用js对象分割数组(数组,对象)

const z = [1, 2, 3, 4]
let a, b

[a, ...b] = z

console.log(a)  // 1
console.log(b)  // [2, 3, 4]

指定默认值

const x = [1, 2]
const y = [1, 2, 3, 4]

let a, b, c
[a, b, c=10] = x
console.log(a)  // 1
console.log(b)  // 2
console.log(c)  // 10

let d, e, f
[d, e, f=10] = y
console.log(d)  // 1
console.log(e)  // 2
console.log(f)  // 3

对象

按键获取

const object = {
  'key1': 'value1',
  'key2': 'value2',
  'key3': 'value3'
}

const {key1, key3, key4} = object

console.log(key1)  // value1
console.log(key3)  // value3
console.log(key4)  // undefined

代入与键名不同的变量

const object = {
  'key1': 'value1',
  'key2': 'value2',
  'key3': 'value3'
}

const {key1: a, key3: b, key4: c} = object

console.log(a)  // value1
console.log(b)  // value3
console.log(c)  // undefined

保存所有剩余部分

可用于存储所有剩余的未指定部分。

const object = {
  'key1': 'value1',
  'key2': 'value2',
  'key3': 'value3'
}

const {key2, ...object2} = object

console.log(key2)     // value2
console.log(object2)  // {key1: "value1", key3: "value3"}

指定默认值

const object = {
  'key1': 'value1',
  'key2': 'value2',
  'key3': 'value3'
}

const {key1, key3='defaultValue3', key4='defaultValue4'} = object

console.log(key1)  // value1
console.log(key3)  // value3
console.log(key4)  // defaultValue4

多维

const object = {
  'key1': 'value1',
  'key2': {
    'key2_1': 'value2_1'
  }
}

const {key1: a, key2: {key2_1: b}} = object

console.log(a)  // value1
console.log(b)  // value2_1


本文来源:词雅网

本文地址:https://www.ciyawang.com/js-71.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐