- 博客(14)
- 收藏
- 关注
原创 FCC 算法中级 算法和数据结构项目(五个题目)
回文检查器如果传入的字符串是回文字符串,则返回true。 否则返回false回文palindrome,指在忽略标点符号、大小写和空格的前提下,正着读和反着读一模一样。注意:检查回文时,你需要先去除所有非字母数字的字符(标点、空格和符号),并将所有字母都转换成大写或都转换成小写。我们会传入具有不同格式的字符串,如racecar、RaceCar和race CAR等等。我们也会传入一些包含特殊符号的字符串,例如2A3*3a2、2A3 3a2、2_A3*3#A2。funct...
2021-07-30 17:04:03
707
原创 三元表达式的嵌套
在做题时解不出,搜索答案时只找到一个用三元嵌套写出来的,看了半天不懂,写一下三元表达式的嵌套。普通的三元表达式:条件?真:假;三元表达式的嵌套(在这里用颜色标注更好区分):条件A?真A:(条件B?真B:(条件C?真C:假C));也可以省略括号,但也更让人费解:条件A?真A:条件B?真B:条件C?真C:假C;正常情况下三元表达式是和if()else{}可以相互替换的需要注意的是在三元表达式中的不能使用 continue 和 break,使用就会出现下面情...
2021-07-22 17:57:26
829
原创 FCC 算法中级 一切都是True
检查谓词(第二个参数)在集合(第一个参数)的所有元素是否为truthy。换句话说,你将获得一个对象的数组集合。 如果数组中的每个对象里,pre对应属性值均为truthy,则返回true。 否则,返回false。JavaScript 中,如果一个值在 Boolean 的上下文中的执行结果为true,那么我们称这个值是truthy的。别忘了,你可以使用点号表示法或方括号表示法([])来访问对象的属性。刚开始有点不理解题意,看两遍测试案例就懂了测试案例(后四个):t...
2021-07-21 17:01:05
263
2
原创 FCC 算法中级 数组扁平化
数组扁平化嵌套数组扁平化成一维数组。 必须考虑到各种深度的嵌套层级。数组扁平化有多种方法,本次采用的递归的方式实现function steamrollArray(arr) { var res = []; arr.map(item => { if(Array.isArray(item)){ res = res.concat(steamrollArray(item)); }else{ res.push(item); } });
2021-07-21 15:18:30
123
原创 FCC 算法中级 根据参数删除数组元素
给定数组arr,从数组的第一个元素开始,用函数func来检查数组的每个元素是否返回true。 如果返回 false,就把这个元素删除。 持续执行删除操作,直到某个元素传入 func 时返回 true 为止。然后在条件满足后返回数组的其余部分,否则,arr应作为空数组返回。function dropElements(arr, func) { for(var i = 0;i < arr.length;i++){ if(func(arr[i]) === false){ ...
2021-07-20 16:51:56
118
原创 FCC 中级算法 质数求和
质数(prime number)是大于 1 且仅可以被 1 和自己整除的数。 比如,2 就是一个质数,因为它只可以被 1 和 2(它本身)整除。 相反,4 不是质数,因为它可以被 1, 2 和 4 整除。请完成sumPrimes方法,使其返回小于等于传入参数数字的所有质数之和。function sumPrimes(num) { let arr = [2]; for(let i = 3;i <= num;i++){ let a = 0; for(let j = 2;..
2021-07-18 19:53:51
128
原创 求斐波那契数列中的奇数之和
在这道题目中,我们需要写一个函数,参数为一个正整数num,返回值为斐波那契数列中,小于或等于num的奇数之和。斐波那契数列中,第一和第二个数字都是 1。 后面的每个数字由之前两数相加得出。 斐波那契数列的前六个数字分别为:1、1、2、3、5、8。比如,sumFibs(10)应该返回10。 因为斐波那契数列中,比10小的数字只有 1、1、3、5。function sumFibs(num) { var pre = 0; var cur = 1; var arr=...
2021-07-18 17:48:20
1206
原创 转换 HTML 字符实体
请将字符串中的&、<、>、"(双引号)和'(单引号)转换为相应的 HTML 字符实体。function convertHTML(str) { var a={ '&':'&', '<':'<', '>':'>', '"':'"', '\'':"'" }; return str.sp..
2021-07-18 12:49:35
270
原创 寻找缺失的字母
在这道题目中,我们需要写一个函数,找出传入的字符串里缺失的字母并返回它。如果所有字母都在传入的字符串范围内,返回undefined。function fearNotLetter(str) { for(let i = 0;i < str.length;i++){ if(str.charCodeAt(i+1) - str.charCodeAt(i) > 1){ return String.fromCharCode(str.charCodeAt(i) + 1); }.
2021-07-17 17:34:14
400
原创 FCC JavaScript 算法和数据结构 中级算法 DNA配对
DNA配对给出的 DNA 链上缺少配对元素。 请基于每个字符,获取与其配对的元素,并将结果作为二维数组返回。DNA 的碱基对有两种形式:一种是 A 与 T,一种是 C 与 G。 请为参数中给出的每个字符配对相应的碱基。注意,参数中给出的字符应作为每个子数组中的第一个元素返回。例如,传入GCG时,应返回[["G", "C"], ["C","G"], ["G", "C"]]。字符和它的配对组成一个数组中,所有配对数组放在一个数组里。function pairElement(st...
2021-07-17 17:06:33
119
原创 FCC JavaScript 算法和数据结构 算法中级 短线连接格式
在这道题目中,我们需要写一个函数,把一个字符串转换为“短线连接格式”。短线连接格式的意思是,所有字母都是小写,且用-连接。比如,对于Hello World,应该转换为hello-world;对于I love_Javascript-VeryMuch,应该转换为i-love-javascript-very-much。function spinalCase(str) { return str.trim().split(/\s|_|(?=[A-Z])/).join('-').toLowerCase()..
2021-07-17 14:20:04
100
原创 FCC JavaScript算法和数据结构 面向对象编程 下半
从超类继承行为在上一个挑战中,我们创建了一个Animal超类(supertype),用来定义所有动物共有的行为:function Animal() { }Animal.prototype.eat = function() { console.log("nom nom nom");};在这一节以及下一节挑战中我们将学习如何在Bird和Dog中重用Animal中的方法,而无需重新定义它们。 这里我们会用到构造函数的继承特性。 这一节挑战中我们学习第一步:创建一个超类sup...
2021-07-12 17:23:15
129
原创 FCC JavaScript 算法和数据结构 基础数据结构
Use an Array to Store a Collection of Datalet yourArray = [ "you're so cute!", 1, true, false, { true: 1, false: 0 }]; // change this lineAccess an Array’s Contents Using Bracket Notationlet myArray = ["a..
2021-07-07 09:52:03
135
原创 FCC 基础JavaScript 记录集合
Record Collection右边有一个JSON对象,代表着你的专辑集。每一张专辑由一个唯一的id标识,并具有多种属性。但并非所有的专辑都有完整的信息。写一个函数,它有个三个参数,id、prop、 value。如果 value !='' 而且prop != 'tracks' ,collectionCopy[id][prop]=value;。如果 value !='' 而且prop == 'tracks' ,collectionCopy[id][prop].push(value);。如
2021-07-04 10:41:01
403
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人