【发布时间】:2018-04-09 23:50:01
【问题描述】:
我的任务是创建一个函数,将对象内部的名称与数组内部的名称交换。 Daniel 的名字应该改为 Felix,他的年龄应该保持不变。最后,对象应该是这样的。
{Felix:18,Carlos:21,Sasha:22,John:20}
从此
{Daniel:18,Tyler:21,Michelle:22,Austin:20}
这是我目前所拥有的。我是编程新手,所以请尽量放轻松。
function swapNames(oldNames,newNames){
for(var i in oldNames) {
for(var k = 0; k < newNames.length; k++) {
i = newNames[k];
}
}
console.log(i)
}
swapNames({Daniel:18,Tyler:21,Michelle:22,Austin:20},
["Felix","Carlos","Sasha","John"])
我认为这将遍历对象和数组并将对象属性名称设置为我所在的当前字符串。但是当我 console.log() 对象是完全一样的。
【问题讨论】:
-
我不确定,如果您的代码正在编译/解析正确。在代码中,您没有返回任何东西或交换任何对象键。我已经更新了一种方法来完成它,如果这有助于你理解,你可以怎么做。
-
我真的不认为你可以安全地做到这一点,因为 Javascript 不能保证属性顺序。请改用
Array。 -
@DanieleCappuccio 你说的财产秩序不能保证是什么意思?能发个链接解释一下吗?
标签: javascript arrays object for-loop