为什么我不能将项目推入空数组?

时间:2021-01-19 14:05:51

标签: javascript

使用数组方法,编写一个函数,该函数返回具有给定长度或更大长度的数组的字符串元素,例如:

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));

1 个答案:

答案 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));

相关问题