gpt4 book ai didi

javascript - 迭代对象键和值(对象数组)

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

我有一个包含键和值的对象(对象数组)

 Obj:{ 
key1: [{desc:'aaa', pos:0}, {desc:'bbb', pos:1}],
key2: [{desc:'ccc', pos:0}, {desc:'ggg', pos:1}],
key3: [{desc:'ddd', pos:0}, {desc:'jjj', pos:1}],
key4: [{desc:'eee', pos:0}, {desc:'kkk', pos:1}]
}

从上面...我需要为对象中的每个键获取一个对象数组。所以,我需要获取位置0的desc属性并分配给下面的text1。 text2 和 text 3 将被硬编码。

data = [
{
text1: 'aaa',
text2: 'name2',
text3: '29/112/2017',
},
{
text1: 'ccc',
text2: 'name2',
text3: '29/12/2017',
},
{
text1: 'ddd',
text2: 'name2',
text3: '29/12/2017',
},
{
text1: 'eee',
text2: 'name2',
text3: '29/12/2017',
},

]

尝试了以下方法,但不起作用...

 var values = Object.values(obj); - would give me an array of array of objects

values.map((item, index) => {
item.map((i, x) => {

if(i.pos == 0)
{
return(
{
text1: i.desc,
text2: 'name2'
text3: '29/12/2017'

}
)
}
})

如何获得像“数据”数组这样的结构?

最佳答案

无需使用item.map。您关心的只是 item[0],因此只需直接对其进行索引即可。

var obj = { 
key1: [{desc:'aaa', pos:0}, {desc:'bbb', pos:1}],
key2: [{desc:'ccc', pos:0}, {desc:'ggg', pos:1}],
key3: [{desc:'ddd', pos:0}, {desc:'jjj', pos:1}],
key4: [{desc:'eee', pos:0}, {desc:'kkk', pos:1}]
};

var values = Object.values(obj);

var result = values.map(item => ({
text1: item[0].desc,
text2: 'name2',
text3: '29/12/2017'
}));

console.log(result);

关于javascript - 迭代对象键和值(对象数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55082076/

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