一道阿里面试题(js)
写一个求和的函数sum,达到下面的效果
// Should equal 15
sum(1, 2, 3, 4, 5);
//Should equal 0
sum(5, 'abc', -5);
//Should equal 4
sum(1, true, 'a', 'D', 1, 'F', 1, 'w');
下面附上多种方法:
function sum(){
var add = 0;
for(var i = 0; i < arguments.length; i++){
if(!isNaN(Number(arguments[i]))){
add += Number(arguments[i]);
}
}
alert(add);
}
sum(1,2,3,4,5);
sum(5,'asd',-5);
sum(1, true, 'a', 'D', 1, 'F', 1, 'w');
普通的方法
var sum = function() {
return [].slice.call(arguments).map(function(x) {
return isNaN(Number(x)) ? 0 : Number(x);
}).reduce(function(a, b) {
return a + b;
});
}
map&reduce方法
var sum = function(){
return [].reduce.call(arguments,
function(a,b){return (parseFloat(+a)||0)+(parseFloat(+b)||0)})
}
再改
评论中可附上你的方法哦。
一道阿里面试题(js)的更多相关文章
- 一道 JavaScript 面试题
有一道 JavaScript 面试题. f = function () { return true; }; g = function () { return false; }; (function() ...
- 一道sql面试题(查询语句)
一道sql面试题(查询语句) id name age 1 a 11 2 b 11 3 c 12 4 d 13 5 e ...
- 一道经典面试题-----setTimeout(function(){},0)
一道经典面试题-----setTimeout(function(){},0) 转载: http://www.w3cfuns.com/notes/17398/e8a1ce8f863e8b5abb5300 ...
- 前端面试题 -- JS篇
前端面试题 -- JS篇 类型 1.js中有哪些数据类型,并解释清楚原始数据类型和引用数据类型 js中共有null,undefined, string,number,boolean,object六种数 ...
- 一道Python面试题
无意间,看到这么一道Python面试题:以下代码将输出什么? def testFun(): temp = [lambda x : i*x for i in range(4)] return ...
- 从一道网易面试题浅谈 Tagged Pointer - darcy_tang 的博客
前言 这篇博客九月就想写了,因为赶项目拖了到现在,抓住17年尾巴写吧~ 正文 上次看了一篇 <从一道网易面试题浅谈OC线程安全> 的博客,主要内容是: 作者去网易面试,面试官出了一道面试题 ...
- 前端面试题(js)
js 基础面试题 css 面试题 js 面试题 JavaScript 有几种类型的值?,你能画一下他们的内存图吗 原始数据类型(Undefined,Null,Boolean,Number.String ...
- 一道常被人轻视的web前端常见面试题(JS)
本文转载自站长之家,如有侵权问题,请联系我,马上删除. 面试题是招聘公司和开发者都非常关心的话题,公司希望通过它了解开发者的真实水平和细节处理能力,而开发者希望能够最大程度地展示自己的水平(甚至超常发 ...
- 微信前端面试题----js实现LazyMan
这是微信小程序的一道面试题,题目是这样的: 实现一个LazyMan,可以按照以下方式调用:LazyMan("Hank")输出:Hi! This is Hank! LazyMan(& ...
随机推荐
- 如何查看Windows下端口占用
查看端口占用的PID进程号 C:\Users\yan>netstat -ano | findstr "8888" 查看是哪个进程或者程序占用了17840端口 C:\Users ...
- 【POJ1743】不可重叠最长重复子串
题意:求一个字符串里两个不重叠的最长重复子串 代码如下: #include<cstdio> #include<cstdlib> #include<cstring> ...
- Keil C51软件的使用
进入 Keil C51 后,屏幕如下图所示.几秒钟后出现编辑界 启动Keil C51时的屏幕 进入Keil C51后的编辑界面 简单程序的调试:学习程序设计语言.学习某种程序软件,最好的方法是直接操作 ...
- leetcode面试准备:Decode Ways
1 题目 A message containing letters from A-Z is being encoded to numbers using the following mapping: ...
- lc面试准备:Repeated DNA Sequences
1 题目 All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: &quo ...
- lc面试准备:Regular Expression Matching
1 题目 Implement regular expression matching with support for '.' and '*'. '.' Matches any single char ...
- Page Cache buffer Cache
https://www.thomas-krenn.com/en/wiki/Linux_Page_Cache_Basics References Jump up ↑ The Buffer Cache ( ...
- thread.wait的一个好例子
int main(int argc, char *argv[]) { QCoreApplication app(argc, argv); HelloThread thread; thread.star ...
- druid报异常 “sql injection violation, part alway true condition not allow”的解决方案
使用durid连接池组件,执行sql时发现异常如下: Caused by: java.sql.SQLException: sql injection violation, part alway tru ...
- UVa1607 poj1435 UVaLive1686 Gates
填坑系列(p.246) 由函数连续性得满足二分性 #include<cstdio> #include<cstring> #include<cstdlib> #inc ...