使用数组方法,编写一个函数,该函数返回具有给定长度或更大长度的数组的字符串元素,例如:
getWords(['Florida', 'dog', 'phone'], 5) => ['Florida', 'phone']
我的解决方案返回空数组。为什么我不能把东西放进去?
function getWords(array, givenLength) {
var result = [];
for (var i = 0; i == array.length - 1; i++) {
if (array[i].length >= givenLength){
result.push(array[i]);
}
} return result;
}
console.log(getWords(['Florida', 'dog', 'phone'], 5));
答案 0 :(得分:1)
正如在评论中提到的问题是你不会进入你的循环体,因为你的条件立即评估为假 i == array.length-1.
然而,这里有一种替代解决方案,您可以如何将其编写为单行。此练习非常适合filter()
数组方法。
function getWords(array, givenLength) {
return array.filter(x => x.length >= givenLength)
}
console.log(getWords(['Florida', 'dog', 'phone'], 5));