【持續更新】JS codewars題目
阿新 • • 發佈:2018-12-16
1.在這個kata中,您將建立一個函式,該函式獲取非負整數和字串的列表,並返回一個新的列表,其中過濾掉了字串
mycode
function filter_list(l) {
var arr2 =[];//arr2=new Array();
for(var i=0;i<l.length;i++){
if(typeof(l[i])=="number"){
arr2.push(l[i]);
}
}
return arr2;
// Return a new array with the strings filtered out
}
bestcode
function filter_list(l) {
return l.filter(function(v) {return typeof v == 'number'})
}
filter方法 filter() 方法建立一個新的陣列,新陣列中的元素是通過檢查指定陣列中符合條件的所有元素。 array.filter(function(currentValue,index,arr), thisValue)
和map()類似,Array的filter()也接收一個函式
var arr = [1, 2, 4, 5, 6, 9, 10, 15]; var r = arr.filter(function (x) { return x % 2 !== 0; });
2.給定兩個整數a和b,可以是正數或負數,找到包含它們之間的所有數字的總和並返回它。如果兩個數字相等則返回a或b。 mycode(其實就是等差數列求和。。。)
function GetSum( a,b )
{
let min = Math.min(a,b);
let max = Math.max(a,b);
return (max+min)*(max-min+1)/2;
}
bestcode
const GetSum = (a, b) => {
let min = Math.min(a, b),
max = Math.max(a, b);
return (max - min + 1) * (min + max) / 2;
}