gpt4 book ai didi

javascript - 处理复杂的 JavaScript 对象

转载 作者:行者123 更新时间:2023-11-30 20:33:55 26 4
gpt4 key购买 nike

我有一个这样的对象:

var obj = {
"00a9": ["\u00A9", ["copyright"]],
"00ae": ["\u00AE", ["registered"]],
"203c": ["\u203C", ["bangbang"]],
"2049": ["\u2049", ["interrobang"]]
}

我想用这个做一个简单的对象

var obj = {
"\u00A9":"copyright",
"\u00AE":"registered"
}

这样我就可以轻松获取键和值,而无需使用那个复杂的对象。

目的:如果我有像\u00A9 这样的 key ,我想获得版权;如果我有像版权这样的值(value),我想获得\ua00A9。

所以我现在尝试制作 2 个对象:

$(obj).each(function(key,val){
unicodeToImg[val[0]] = val[1][0];
imgToUnicode[val[1][0]] = val[0];
});

但是当我尝试下面的代码时,这将只返回键 0 和其中的所有值:

$(obj).each(function(key,val){
$(val).each(function(k,v){
console.log(k);
console.log(v);
});
//unicodeToImg[val[0]] = val[1][0];
//imgToUnicode[val[1][0]] = val[0];
});

它返回相同的

最佳答案

使用 Object.values 获取对象值(丢弃初始键),然后使用 reduce 将奇怪​​格式的内部嵌套数组转换为易于访问的对象:

var obj = {
"00a9": ["\u00A9", ["copyright"]],
"00ae": ["\u00AE", ["registered"]],
"203c": ["\u203C", ["bangbang"]],
"2049": ["\u2049", ["interrobang"]]
}
const transformedObj = Object.values(obj)
.reduce((accum, [key, [val]]) => {
accum[key] = val;
return accum;
}, {});
console.log(transformedObj);
console.log(transformedObj['\u00A9']);

不需要jQuery来实现这个

关于javascript - 处理复杂的 JavaScript 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50036787/

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