JavaScript中高阶函数的用途是什么?
Javascript提供了许多内置函数来完成特定任务。但是,如果我们尝试使用这些内置函数正常解决任何程序,则代码可能并不简洁。Javascript还提供了一些内置的高阶函数。 这些高阶函数减少了代码的长度,增加了可读性并简化了可访问性。一些高阶函数是map,filter和reduce。让我们讨论滤波器的高阶函数。
示例
当没有高阶 函数时,程序代码可能总共要执行更多的步骤。在下面的示例中,即使提供的数组足以完成任务,也会采用新的数组。甲for循环,这是在高阶函数的情况下是不必要的,则通过阵列带到循环。
<html> <body> <script> const name = []; var persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; for(let i = 0; i < persons.length; i++) { if(persons[i].name.length > 6) { name.push(persons[i]); } } document.write(JSON.stringify(name)); </script> </body> </html>
输出结果
[{"name":"Frodobaggins"},{"name":"aragorn"},{"name":"gandalf"}]
示例
在下面的示例中,使用了 高阶 函数过滤器 。与上面的示例相比,下面的示例占用较少的代码行数。这里不采用新数组,也不使用for循环。
<html> <body> <script> const persons = [ { name: 'Frodobaggins'}, { name: 'aragorn'}, { name: 'gandalf'}, { name: 'pippin'}, { name: 'nazgul'}, ]; const name = persons.filter(person => person.name.length > 7); document.write(JSON.stringify(name)); </script> </body> </html>
输出结果
[{"name":"Frodobaggins"}]