gpt4 book ai didi

javascript - 等价于 Python 的 List Comprehension 在 Javascript 中

转载 作者:行者123 更新时间:2023-11-29 21:03:57 34 4
gpt4 key购买 nike

考虑以下数组的 JSON 表示形式:

logMessages = [
{
"timestamp":1499776056977,
"message":"Log message c7a09226",
"ingestionTime":1499776058327
},
{
"timestamp":1499777056977,
"message":"Log message e5d5b51a3ae1",
"ingestionTime":1499777058327
},
{
"timestamp":1499778056977,
"message":"Log message b79f4620935b",
"ingestionTime":1499778058327
}
]

假设我只想保留 timestampmessage 并省略 ingestionTime。在 Python 中,我会这样做:

>>> [ {'timestamp': o['timestamp'], 'message': o['message']} for o in logMessages]

[{'timestamp': 1499776056977, 'message': 'Log message c7a09226'},
{'timestamp': 1499777056977, 'message': 'Log message e5d5b51a3ae1'},
{'timestamp': 1499778056977, 'message': 'Log message b79f4620935b'}]

如何在 Javascript 中进行相同的字段过滤?

最佳答案

您可以使用对象解构来获取键的子集。

> logMessages= [ 
{ timestamp: 1499776056977,
message: 'Log message c7a09226',
ingestionTime: 1499776058327 },
{ timestamp: 1499777056977,
message: 'Log message e5d5b51a3ae1',
ingestionTime: 1499777058327 },
{ timestamp: 1499778056977,
message: 'Log message b79f4620935b',
ingestionTime: 1499778058327 } ]

> logMessages.map(({ timestamp, message }) => ({ timestamp, message }));

[ { timestamp: 1499776056977, message: 'Log message c7a09226' },
{ timestamp: 1499777056977,
message: 'Log message e5d5b51a3ae1' },
{ timestamp: 1499778056977,
message: 'Log message b79f4620935b' } ]

可以找到解构赋值语法的文档:

关于javascript - 等价于 Python 的 List Comprehension 在 Javascript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45055176/

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