<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[a8865375的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/a8865375</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; a8865375]]></copyright><item><title><![CDATA[Advanced Algorithm Scripting]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170808</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170808</guid><author>a8865375</author><pubDate>Wed, 30 Nov 2016 20:36:00 +0800</pubDate><description><![CDATA[1.Validate US Telephone Numbers
如果传入字符串是一个有效的美国电话号码，则返回 true.
用户可以在表单中填入一个任意有效美国电话号码. 下面是一些有效号码的例子(还有下面测试时用到的一些变体写法):
555-555-5555
(555)555-5555
(555) 555-5555
555 555 5555
5555555555
1 5...]]></description><category></category></item><item><title><![CDATA[Arguments Optional]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170809</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170809</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 17:16:00 +0800</pubDate><description><![CDATA[创建一个计算两个参数之和的 function。如果只有一个参数，则返回一个 function，该 function 请求一个参数然后返回求和的结果。
例如，add(2, 3) 应该返回 5，而 add(2) 应该返回一个 function。
调用这个有一个参数的返回的 function，返回求和的结果：
var sumTwoAnd = add(2);
sumTwoAnd(3) 返...]]></description><category></category></item><item><title><![CDATA[Everything Be True]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170806</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170806</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:54:00 +0800</pubDate><description><![CDATA[完善编辑器中的every函数，如果集合(collection)中的所有对象都存在对应的属性(pre)，并且属性(pre)对应的值为真。函数返回ture。反之，返回false。

function every(collection, pre) {
  // Is everyone being true?
  return pre;
}

every([{"user": "Ti...]]></description><category></category></item><item><title><![CDATA[Binary Agents]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170807</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170807</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:49:00 +0800</pubDate><description><![CDATA[传入二进制字符串，翻译成英语句子并返回。
二进制字符串是以空格分隔的。

parseInt(string, radix) 将给定的字符串以指定基数radix解析成为整数这里使用parseInt(code[i], 2)，将code[i]以基数2（即将其当做二进制串解析）解析为整数

function binaryAgent(str) {
  //将二进制串str用空格分割成...]]></description><category></category></item><item><title><![CDATA[Steamroller]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170804</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170804</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:43:00 +0800</pubDate><description><![CDATA[对嵌套的数组进行扁平化处理。你必须考虑到不同层级的嵌套。
思路
Array.isArray(value)可以用来判断某个值是否为数组，是则返回true，不是返回false。
因为需要解决层级嵌套的问题，所以本题用递归来解决。
遍历 arr 的每一项，如果该项为数组，则重复调用本函数，如果不是数组，则将这一项推入结果集中。


function steamroll...]]></description><category></category></item><item><title><![CDATA[Drop it]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170805</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170805</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:41:00 +0800</pubDate><description><![CDATA[让我们来丢弃数组(arr)的元素，从左边开始，直到回调函数return true就停止。
第二个参数，func，是一个函数。用来测试数组的第一个元素，如果返回fasle，就从数组中抛出该元素(注意：此时数组已被改变)，继续测试数组的第一个元素，如果返回fasle，继续抛出，直到返回true。
最后返回数组的剩余部分，如果没有剩余，就返回一个空数组。

思路
用while()...]]></description><category></category></item><item><title><![CDATA[Finders Keepers]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170803</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170803</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:35:00 +0800</pubDate><description><![CDATA[写一个 function，它浏览数组（第一个参数）并返回数组中第一个通过某种方法（第二个参数）验证的元素。
思路
Array.filter()的返回值是通过测试元素的新数组。截取到这个数组索引为0的值即可。

function find(arr, func) {
  return arr.filter(func)[0];
}



转载于:https://www.cn...]]></description><category></category></item><item><title><![CDATA[Smallest Common Multiple]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170800</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170800</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:25:00 +0800</pubDate><description><![CDATA[找出能被两个给定参数和它们之间的连续数字整除的最小公倍数。 范围是两个数字构成的数组，两个数字不一定按数字顺序排序。 例如对 1 和 3 —— 找出能被 1 和 3 和它们之间所有数字整除的最小公倍数。

注意：这里涉及到经典算法：求最大公约数gcd（greatest common divisor）和最小公倍数scm（smallest common multiple）gcd（最...]]></description><category></category></item><item><title><![CDATA[Sum All Primes]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170798</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170798</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:19:00 +0800</pubDate><description><![CDATA[求小于等于给定数值的质数之和。
只有 1 和它本身两个约数的数叫质数。例如，2 是质数，因为它只能被 1 和 2 整除。1 不是质数，因为它只能被自身整除。
给定的数不一定是质数。

注意：for(var i=2;i&lt;=Math.sqrt(num);i++)这里进行了部分优化，可以减少循环次数：判断一个数是否是质数，只需要判断是否能被2~√num整除即可。

...]]></description><category></category></item><item><title><![CDATA[Sum All Odd Fibonacci Numbers]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170801</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170801</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:17:00 +0800</pubDate><description><![CDATA[给一个正整数num，返回小于或等于num的斐波纳契奇数之和。
斐波纳契数列中的前几个数字是 1、1、2、3、5 和 8，随后的每一个数字都是前两个数字之和。
例如，sumFibs(4)应该返回 5，因为斐波纳契数列中所有小于4的奇数是 1、1、3。
提示：此题不能用递归来实现斐波纳契数列。因为当num较大时，内存会溢出，推荐用数组来实现。

思路
首先，我们需要一个斐波那契...]]></description><category></category></item><item><title><![CDATA[Spinal Tap Case]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170799</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170799</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 16:10:00 +0800</pubDate><description><![CDATA[将字符串转换为 spinal case。Spinal case 是 all-lowercase-words-joined-by-dashes 这种形式的，也就是以连字符连接所有小写单词。


spinalCase("This Is Spinal Tap")应该返回"this-is-spinal-tap"。




spinalCase("thisIsSpinalTap...]]></description><category></category></item><item><title><![CDATA[Convert HTML Entities]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170796</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170796</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 15:57:00 +0800</pubDate><description><![CDATA[将字符串中的字符 &amp;、&lt;、&gt;、" （双引号）, 以及 ' （单引号）转换为它们对应的 HTML 实体。


convert("Dolce &amp; Gabbana")应该返回Dolce &amp;​amp; Gabbana。




convert("Hamburgers &lt; Pizza &lt; Tacos")应该返回Hamburgers...]]></description><category></category></item><item><title><![CDATA[Sorted Union]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170794</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170794</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 11:28:00 +0800</pubDate><description><![CDATA[写一个 function，传入两个或两个以上的数组，返回一个以给定的原始数组排序的不包含重复值的新数组。
换句话说，所有数组中的所有值都应该以原始顺序被包含在内，但是在最终的数组中不包含重复值。
非重复的数字应该以它们原始的顺序排序，但最终的数组不应该以数字顺序排序。


unite([1, 3, 2], [5, 2, 1, 4], [2, 1])应该返回[1, 3, 2,...]]></description><category></category></item><item><title><![CDATA[Search and Replace]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170797</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170797</guid><author>a8865375</author><pubDate>Tue, 29 Nov 2016 10:35:00 +0800</pubDate><description><![CDATA[使用给定的参数对句子执行一次查找和替换，然后返回新句子。
第一个参数是将要对其执行查找和替换的句子。
第二个参数是将被替换掉的单词（替换前的单词）。
第三个参数用于替换第二个参数（替换后的单词）。
注意：替换时保持原单词的大小写。例如，如果你想用单词 "dog" 替换单词 "Book" ，你应该替换成 "Dog"。


//判断字符串str中首字符是否大写
functi...]]></description><category></category></item><item><title><![CDATA[Boo who]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170792</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170792</guid><author>a8865375</author><pubDate>Mon, 28 Nov 2016 17:18:00 +0800</pubDate><description><![CDATA[检查一个值是否是基本布尔类型，并返回 true 或 false。
基本布尔类型即 true 和 false。
注意：typeof operand

typeof操作符返回操作数的类型（字符串）
operand是一个表达式，表示对象或原始值，返回其类型
例如：typeof 3.14 === ‘number’;typeof “bla” === ‘string’;typeof t...]]></description><category></category></item><item><title><![CDATA[Missing letters]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170795</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170795</guid><author>a8865375</author><pubDate>Mon, 28 Nov 2016 17:04:00 +0800</pubDate><description><![CDATA[从传递进来的字母序列中找到缺失的字母并返回它。
如果所有字母都在序列中，返回 undefined。

function fearNotLetter(str) {
  var len=str.length;
  //str中第一个字符的Unicode值
  var start=str.charCodeAt(0);
  //str中最后一个字符的Unicode值
  var ...]]></description><category></category></item><item><title><![CDATA[DNA Pairing]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170793</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170793</guid><author>a8865375</author><pubDate>Mon, 28 Nov 2016 15:52:00 +0800</pubDate><description><![CDATA[DNA 链缺少配对的碱基。依据每一个碱基，为其找到配对的碱基，然后将结果作为第二个数组返回。
Base pairs（碱基对） 是一对 AT 和 CG，为给定的字母匹配缺失的碱基。
在每一个数组中将给定的字母作为第一个碱基返回。
例如，对于输入的 GCG，相应地返回 [["G", "C"], ["C","G"],["G", "C"]]
字母和与之配对的字母在一个数组内，然后所有数组...]]></description><category></category></item><item><title><![CDATA[Pig Latin]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170777</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170777</guid><author>a8865375</author><pubDate>Mon, 28 Nov 2016 11:55:00 +0800</pubDate><description><![CDATA[Pig Latin 把一个英文单词的第一个辅音或辅音丛（consonant cluster）移到词尾，然后加上后缀 "ay"。
如果单词以元音开始，你只需要在词尾添加 "way" 就可以了。


function translate(str) {
  //定义元音字母组成的字符数组
  var vowel=['a','e','i','o','u'];
  //保存str中...]]></description><category></category></item><item><title><![CDATA[Where art thou]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170766</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170766</guid><author>a8865375</author><pubDate>Mon, 28 Nov 2016 11:33:00 +0800</pubDate><description><![CDATA[写一个 function，它遍历一个对象数组（第一个参数）并返回一个包含相匹配的属性-值对（第二个参数）的所有对象的数组。如果返回的数组中包含 source 对象的属性-值对，那么此对象的每一个属性-值对都必须存在于 collection 的对象中。
例如，如果第一个参数是 [{ first: "Romeo", last: "Montague" }, { first: "Mercuti...]]></description><category></category></item><item><title><![CDATA[Roman Numeral Converter]]></title><link>https://blog.youkuaiyun.com/a8865375/article/details/102170763</link><guid>https://blog.youkuaiyun.com/a8865375/article/details/102170763</guid><author>a8865375</author><pubDate>Fri, 25 Nov 2016 12:37:00 +0800</pubDate><description><![CDATA[将给定的数字转换成罗马数字。
所有返回的 罗马数字 都应该是大写形式。

采用递归的方法



var romanMatrix=[
  [1000,'M'],
  [900,'CM'],
  [500,'D'],
  [400,'DC'],
  [100,'C'],
  [90, 'XC'],
  [50, 'L'],
  [40, 'XL'],
  [...]]></description><category></category></item></channel></rss>