gpt4 book ai didi

javascript - 解构 JavaScript 对象时如何只选择几个字段?

转载 作者:行者123 更新时间:2023-12-04 18:35:29 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





One-liner to take some properties from object in ES 6

(11 个回答)


2年前关闭。




我似乎不记得如何写这个解构模式,你能帮我吗?
假设我有一个这样的对象:

{
id: 'po_495743057439095',
object: 'payout',
amount: 18560,
arrival_date: 1576195200,
automatic: true,
balance_transaction: 'txn_32472309478903284',
created: 1575774863,
currency: 'eur',
description: 'STRIPE PAYOUT',
destination: 'ba_329047329048323',
failure_balance_transaction: null,
failure_code: null,
failure_message: null,
livemode: true,
metadata: {},
method: 'standard',
source_type: 'card',
statement_descriptor: null,
status: 'in_transit',
type: 'bank_account',
}
(这实际上是 Stripe API 中的一个对象)。
我想将此对象推送到我的自定义数组中,但只保留 5 个字段。
我可以:
arr.push({
id: myObject.id,
object: myObject.object,
amount: myObject.amount,
arrival_date: myObject.arrival_date,
created: myObject.created
})
但我想知道是否有任何语法可以帮助我以更短的方式实现相同的目标。
基本上我很确定有一种语法可以做到这一点,它只需要写一次“myObject”这个词,写一次每个键名,并且不创建临时变量,但我不记得如何了。
我不是要写一个特定的函数,我不需要帮助。我只是在问是否有内置的解构语法来执行此操作,因为我很确定有但我找不到它,尽管之前搜索了很长时间。
编辑:
我正在寻找的答案在这里: Elegant way to copy only a part of an object

最佳答案

我不确定您是否可以仅使用 es6 对象解构来做到这一点。但是你可以利用一些 es6 功能来实现 lodash 的 pick功能。

Object.assign(
{},
...['id', 'object', 'amount', 'arrival_date', 'created'].map(key => ({
[key]: myObject[key]
}))
);

    const myObject = {
id: 'po_495743057439095',
object: 'payout',
amount: 18560,
arrival_date: 1576195200,
automatic: true,
balance_transaction: 'txn_32472309478903284',
created: 1575774863,
currency: 'eur',
description: 'STRIPE PAYOUT',
destination: 'ba_329047329048323',
failure_balance_transaction: null,
failure_code: null,
failure_message: null,
livemode: true,
metadata: {},
method: 'standard',
source_type: 'card',
statement_descriptor: null,
status: 'in_transit',
type: 'bank_account',
};

const newObject = Object.assign(
{},
...['id', 'object', 'amount', 'arrival_date', 'created'].map(key => ({
[key]: myObject[key]
}))
);
console.log(newObject);

关于javascript - 解构 JavaScript 对象时如何只选择几个字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59248512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com