在Python中有一个叫做的函数map允许你去:map(someFunction, [x,y,z])继续使用该函数的列表.有没有相当于这个功能的javascript?
我现在只是学习Python,虽然我被告知javascript是函数式语言,但我可以看到我一直在以非功能性的javascript风格编程.作为一般规则,javascript可以像Python一样有效地用作函数式语言吗?它有类似于上述map功能的技巧吗?
我刚刚开始了一个SML课程,我想知道我学到了多少也适用于javascript.
我需要计算子串'bob'出现在字符串中的nunber次数.
示例问题:查找字符串s中出现'bob'的次数
"s = xyzbobxyzbobxyzbob" #(here there are three occurrences)
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
s = "xyzbobxyzbobxyzbob"
numBobs = 0
while(s.find('bob') >= 0)
numBobs = numBobs + 1
print numBobs
Run Code Online (Sandbox Code Playgroud)
由于Python中的find函数应该返回-1,如果子字符串未被发现,while循环应该在每次找到子字符串时打印出增加数量的bobs后结束.
然而,当我运行它时程序结果是无限循环.
我试图找出以下代码无法编译的原因:
Function<Employee, String> getLastName = (Employee employee) -> {
return employee.getName().substring(employee.getName().indexOf(" ") + 1);
};
Function<Employee, String> getFirstName = (Employee employee) -> {
return employee.getName().substring(0, employee.getName().indexOf(" "));
};
Function chained = getFirstName.apply(employees.get(2).andThen(getFirstName.apply(employees.get(2))));
Run Code Online (Sandbox Code Playgroud)
不能在java 8中包含所有函数吗?
我想遍历包含Java Servlet中所有标头名称的枚举。我的代码如下:
public class ServletParameterServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
ServletConfig c = this.getServletConfig();
PrintWriter writer = response.getWriter();
writer.append("database: ").append(c.getInitParameter("database"))
.append(", server: ").append(c.getInitParameter("server"));
Enumeration<String> headerNames = ((HttpServletRequest) c).getHeaderNames();
}
}
Run Code Online (Sandbox Code Playgroud)
这是正确的语法吗?实际上,如何在Java中遍历枚举值?特别是在这种情况下?
谢谢您的帮助,马克
python ×2
function ×1
java ×1
java-8 ×1
java-ee ×1
javascript ×1
python-2.7 ×1
servlet-3.1 ×1
servlets ×1
sml ×1
substring ×1