gpt4 book ai didi

javascript - 如何将数组 [] 转换为一系列 { key : value } paired objects?

转载 作者:行者123 更新时间:2023-12-04 06:24:33 25 4
gpt4 key购买 nike

我正在寻找改变这个...

[
[ 'market', 'type', 'timeframe', 'proximal', 'distal', 'risk', 'tradeable' ], // object keys
[ 'AD', 'DZ', 'daily', '0.6375', '0.6283', '$920.00', 'FALSE' ] // key values
]

进入这个...
[ 
{
market: 'AD',
type : 'DZ',
timeframe: 'daily',
proximal: '0.6375',
distal: '0.6283',
risk: '$920.00',
tradeable: 'FALSE'
}
]

到目前为止,这就是我所拥有的......
// each element of the array (I call a 'zone')
data.forEach(z => {

// each element inside the 'zone'
z.forEach(e => {

// headings to object keys, where k = key and v = value
const obj = headings.reduce((k,v) => (k[v]="",k),{})

console.log(obj)
})
})

console.log(obj) 将其输出到控制台:
Object {
distal: "",
market: "",
proximal: "",
risk: "",
timeframe: "",
tradeable: "",
type: ""
}

我只是不知道如何将值放入这些 key 对中, 请帮助 !!

提前致谢,

山姆

最佳答案

使用 reduce,reduce 对数组的每个元素运行一个函数,并在每次迭代时返回一个累加器。在这种情况下,起始累加器是空对象 {},在每次迭代中,我们将键添加到累加器,其值来自另一个数组中的当前索引。

const data = [
[ 'Market', 'Type', 'Timeframe', 'Proximal', 'Distal', 'Risk', 'Tradeable' ],
[ 'AD', 'DZ', 'daily', '0.6375', '0.6283', '$920.00', 'FALSE' ],
[ 'EC', 'SZ', 'daily', '1.13475', '1.13895', '$525.00', 'FALSE' ],
[ 'DXY', 'DZ', '60 min', '96.85', '96.76', '', 'FALSE' ]
];

const match = (keys, values) => keys.reduce((result, key, index) => {
result[key] = values[index];
return result;
}, {});

const matchAll = data => data.reduce((results, current, index) => {
if (index) {
results.push(match(data[0], data[index]));
}
return results;
}, []);

console.log(matchAll(data));

关于javascript - 如何将数组 [] 转换为一系列 { key : value } paired objects?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59366499/

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