gpt4 book ai didi

javascript - 映射对象数组

转载 作者:行者123 更新时间:2023-12-03 10:06:27 25 4
gpt4 key购买 nike

请仔细阅读问题,这不是重复的问题:

让我们考虑以下对象数组:

var obj = [{ 'key1' : 'value1' }, { 'key2' : 'value2' }];

我想映射数组以获取每个对象的键和值。像这样的东西:

obj.map((key, val) => console.log(key, val));

我已经尝试了很多类似 Object.entries(obj) 的东西但它总是会导致复杂的解决方案,其中包含许多括号,例如 Object.entries(obj)[0][1]

是否有一种简单、美观且高效的方法来映射对象数组?注意我需要每个对象的键和值

最佳答案

您似乎只想打印出来或访问它们:

.map 将一个数组更改为另一个数组,这看起来不像您正在寻找的内容。

var objs = [{ 'key1' : 'value1' }, { 'key2' : 'value2' }];

objs.forEach(obj => {
for (let p in obj) console.log(p, obj[p]);
});

如果您正在寻找 key1=value1&key2=value2 作为答案,并且您知道每个对象中只有 1 个键和值,那么它是:

let objs = [{ 'key1' : 'value1' }, { 'key2' : 'value2' }];

let s = objs.map(obj => `${Object.keys(obj)[0]}=${Object.values(obj)[0]}`).join("&");

console.log(s);

但是您可能想使用 encodeURIComponent() 对参数进行编码,使其:

let objs = [{ 'key1' : 'value1 hello' }, { 'key2' : 'value2 & 3' }];

let s = objs.map(obj => `${encodeURIComponent(Object.keys(obj)[0])}=${(encodeURIComponent(Object.values(obj)[0]))}`).join("&");

console.log(s);

如果您的键都是字母数字和下划线字符,那么您不需要在键上使用 encodeURIComponent()

关于javascript - 映射对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59910555/

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