Javascript 有没有一种方法可以使用指定的值从对象中提取特定的键名?
我正在从一个旧的拼字游戏得分手创建一个新的得分手。我创建了一个初始对象,它的键是分数,每个键的值是一个字母数组。这是旧的计分键 我试图创建一个函数,从数组中获取每个字母的值 在旧的分数键中创建一个新的键,并为新对象中的每个字母创建一个新的键(我已经这样做了),然后为每个字母指定一个点值,该点值是它们与原始对象对应的键号 我不知道如何给字母赋值,它们最初是在旧的score key对象中给出的 我创建的函数:Javascript 有没有一种方法可以使用指定的值从对象中提取特定的键名?,javascript,object,Javascript,Object,我正在从一个旧的拼字游戏得分手创建一个新的得分手。我创建了一个初始对象,它的键是分数,每个键的值是一个字母数组。这是旧的计分键 我试图创建一个函数,从数组中获取每个字母的值 在旧的分数键中创建一个新的键,并为新对象中的每个字母创建一个新的键(我已经这样做了),然后为每个字母指定一个点值,该点值是它们与原始对象对应的键号 我不知道如何给字母赋值,它们最初是在旧的score key对象中给出的 我创建的函数: function transform(oldScoreKey) { let newSc
function transform(oldScoreKey) {
let newScoreKey = {};
for (var item in oldScoreKey) {
for (i = 0; i < oldScoreKey[item].length; i++) {
newScoreKey[oldScoreKey[item][i]] = Object.keys(oldScoreKey)[0];
}
}
return newScoreKey;
}
有了这个密码,我就得到了
{A:'1',
E:‘1’,
I:‘1’,
O:‘1’,
等等}
当我期望得到
{A:'1',
D:‘2’,
J:'8',
问:"10",,
等您可以直接将
项
指定为值,而无需使用键
函数转换(oldScoreKey){
让newScoreKey={};
用于(oldScoreKey中的var项){
对于(var i=0;i
//console.log(0.2+0.4)
const oldScoreKey={
1:[A',E',I',O',U',L',N',R',S',T'],
2:[D',G'],
3:[B',C',M',P'],
4:[F',H',V',W',Y'],
5:[K'],
8:[J',X'],
10:['Q','Z']
};
常量finalObj={};
Object.keys(oldScoreKey).forEach((key)=>{
oldScoreKey[key].forEach((val)=>{
//console.log(val,key);
finalObj[val]=键;
});
});
console.log(finalObj)
您要查找的是Number(item)
,而不是Object.keys(oldScoreKey)[0]
我还需要将属性名转换为numberPerfect!非常简单,非常感谢!
const oldScoreKey = {
1: ['A', 'E', 'I', 'O', 'U', 'L', 'N', 'R', 'S', 'T'],
2: ['D', 'G'],
3: ['B', 'C', 'M', 'P'],
4: ['F', 'H', 'V', 'W', 'Y'],
5: ['K'],
8: ['J', 'X'],
10: ['Q', 'Z']
};