The Link (you'll have to sign up)
虽然我的代码返回了预期的输出,但我仍然因为这个问题而未能通过测试。是测试问题还是我的代码?
问题......
给定一个对象和一个键,编写一个函数,该函数返回一个数组,该数组包含位于给定键的数组中满足条件的元素。
条件:小于100的元素。
代码
// expected output -> [20, 50, 0, 16]
var obj = {
key: [150, 20, 50, 100, 0, 16]
};
function getElementsLessThan100AtProperty(obj, key) {
var arr = [];
for (var i in obj.key){
if(obj.key[i] < 100){
arr.push(obj.key[i]);
}
}
return arr;
}
getElementsLessThan100AtProperty(obj, 'key')// [20, 50, 0, 16]
测试消息失败
should return an array containing all the elements less than 100 in the array located at key
Expected to equal 20,50,0,16.
给出了什么?我在这里遗漏了什么或测试错了吗?
答案 0 :(得分:0)
如果您有一个返回数组的函数,则需要将该数组保存为某个数组。
所以在你的情况下,你的最后一行应该是这样的:
var arr = getElementsLessThan100AtProperty(obj, 'key');
arr
现在保存已过滤的数组(如果条件不满足,则可能为空数组)。