gpt4 book ai didi

Javascript 组相似之处

转载 作者:太空宇宙 更新时间:2023-11-04 16:00:04 24 4
gpt4 key购买 nike

我在 JavaScript JSON 对象中有以下代码:

{
apple: 'value',
orange: 'value',
string1Pear: 'value',
string1Banana: 'value',
string2Pear: 'value',
string2Banana: 'value',
pineapple: 'value'
}

我需要对给定对象的相似键进行分组,而不知道是否存在这样的键或它们会是什么样子。

最终结果应该是这样的:

{
apple: 'value',
orange: 'value',
string: {
string1: {
string1Pear: 'value',
string1Banana: 'value',
},
string2: {
string2Pear: 'value',
string2Banana: 'value',
},
}
pineapple: 'value'
}

最佳答案

使用 Object.keys() 的解决方案, String.prototype.match()Array.prototype.reduce()功能:

var data = { apple: 'value', orange: 'value', string1Pear: 'value', string1Banana: 'value', string2Pear: 'value', string2Banana: 'value', pineapple: 'value'},

result = Object.keys(data).reduce(function (r, k) {
var parts = k.match(/(\w+\d+)([A-Z]\w+)/);
if (!parts) {
r[k] = data[k];
return r;
}
r[parts[1]] = r[parts[1]] || {};
r[parts[1]][k] = data[k]
return r;
}, {});

console.log(result);

关于Javascript 组相似之处,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42343481/

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