2017-02-17 70 views
-1

JavaScript的新手。我的代码是工作,但我仍然得到这个警告:我应该如何正确地分配一个键和值对?

should_properly_assign_key_and_value_pair,预计“串”是 “对象”。

不知道如何更新当前的代码来解决这个问题。有什么建议?谢谢!

function transformFirstAndLast(array) { 
    var result = ''; 
    for (var i = 0; i < array.length; i++) { 
     result = (array[0] + ": " + array[array.length-1]); 
     return result; 
    } 
} 
console.log(transformFirstAndLast(['Kevin','Bacon','Spacey']));//Kevin : 'Spacey' 
+1

你的代码没有问题。 你没有显示它被使用的地方或它出错的地方。 –

回答

1

因为它期待键/值对。创建一个新对象并设置数据。

变化

result = (array[0] + ": " + array[array.length-1]); 

var result = {}; 
result[array[0]] = array[array.length-1]; 

return result; 
+0

为什么?产生字符串结果有什么问题?什么期待键/值对? –

+0

@RobbyCornelissen有一个字符串结果没有错。 OP的代码正在做它打算做的事情。只是显示警告的可能解决方案。 –

+0

@RobbyCornelissen:可能是某种自动分配检查器。 – Ryan

0

很难理解你的代码想要做什么?当前代码将始终返回数组中的第一个元素和最后一个元素,中间有一个':',而不管数组中有多少个其他元素。这是你的意图吗?如果是,我认为你不需要循环,对吧?只是返回array [0] +':'+ array [arraly.length - 1]会为你做这项工作..

如果你的意图是连接数组中的元素,你的代码需要修改。

相关问题