如何解决谁能看到为什么这个javascript函数无法正常工作?
解决方法
您的代码中有两个问题:
const originalValue = key[object]
invertedObject = {originalValue : key}
您正在呼叫key[object]
而不是object[key]
,并且您正在设置密钥名称originalValue
而不是使用密钥名称的值。应该看起来像这样:
let originalValue = object[key];
invertedObject[originalValue] = key;
function invert(object) {
let invertedObject = {};
for(let key in object) {
let originalValue = object[key];
invertedObject[originalValue] = key;
}
return invertedObject;
}
const myObject = {House : 'London'}
const result = invert(myObject)
console.log(result)
,
我认为需要进行以下更改才能修复您的代码:
function invert(object) {
let invertedObject = {};
for(let key in object) {
const originalValue = object[key]
invertedObject = {[originalValue] : key}
}
return invertedObject;
}
const myObject = {House : 'London'}
const result = invert(myObject)
console.log(result); // {'London': 'House'}
但是,看来您的原始功能仅适用于单个对象输入,如果您想应用到所有键,我建议将其重写为:
function invert(object) {
let invertedObject = {};
for(let key in object) {
const originalValue = object[key]
invertedObject[originalValue] = key
}
return invertedObject;
}
const myObject = {'House' : 'London','World': 'Hello','Cool': 'You'}
const result = invert(myObject)
console.log(result)
,
尝试通过更改代码中“ originalValue”的数据类型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。