gpt4 book ai didi

javascript 相当于 [x for x in array]

转载 作者:行者123 更新时间:2023-12-02 01:59:47 24 4
gpt4 key购买 nike

Javascript中有没有像Python中的[x for x in array]一样的操作?

例如,我使用 javascript 读取 json 文件,其中需要处理(或转换为其他格式)数十个(键,值)对。我认为以这种方式工作是愚蠢的:

let transformed = []
for (let key in json){
transformed = [ /* doing some transform*/ ]
}

有没有类似的东西:

let transformed = [
lambda function1(key), lambda function2(value) for key, value in json
]

提前致谢。

最佳答案

Python 列表理解的大致等效项是 Array.map :

const myArray = [1, 2, 3]
const transformed = myArray.map((item) => item + 1)
// [2, 3, 4]

但是您的示例不是关于数组,而是关于带有键和值的对象。在 Python 中,这将是一个字典,您可以按照 {function1(key): function2(value) for key, value in my_dict.items()} 的方式使用字典理解。

在 JavaScript 中,您可以使用 Object.entries 将此类对象转换为数组。 ,然后执行map,最后使用 Object.fromEntries 将其转换回对象:

const myObject = { a: 1, b: 2 }
const transformed = Object.fromEntries(Object.entries(myObject)
.map(([key, value]) => [key + 'x', value + 1]))
// { ax: 2, bx: 3 }

请注意,fromEntries 是相当新的,您可能需要添加 a polyfill为了它。

关于javascript 相当于 [x for x in array],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69129227/

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