freecodecamp笔记--js

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freecodecamp笔记--js相关的知识,希望对你有一定的参考价值。

arguments转数组;

Array.prototype.slice.call(arguments);

 

计算一个整数的阶乘

function factorialize(num) {
  if(num==0)return 1;
  return num*factorialize(num-1);
}

 

去掉数组中指定的数字

function destroyer(arr) {
  var args = Array.from(arguments).slice(1);
  return arr.filter(function(val) {
    return !args.includes(val);
  });
}
deestroyer([1,2,3,1,2,4,7,8,6],1,2,3);

 

从第一个参数中取出包含第二个参数的对象

function where(collection, source) {
 var keys=Object.keys(source);
  return collection.filter(function(val){
        return keys.every(function(key){
          return val.hasOwnProperty(key)&&val[key]==source[key];
        });
  });
}
where([{ first: "Romeo", last: "Montague" }, { first: "Mercutio", last: null }, { first: "Tybalt", last: "Capulet" }], { last: "Capulet" });

 

取两个数组中不同的部分

function diff(arr1, arr2) {
  return arr1.filter(function(e){return !arr2.includes(e);}).concat(arr2.filter(function(e){return !arr1.includes(e);}));
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);

 

以上是关于freecodecamp笔记--js的主要内容,如果未能解决你的问题,请参考以下文章

30分钟全看懂127个常用的JS程序片段

Reverse a String-freecodecamp-js题目

RX编程笔记:在FreeCodeCamp的学习

RX学习笔记:FreeCodeCamp的JavaScript基本算法挑战

freecodecamp 基础算法题笔记

freecodecamp学习笔记-1