小编Sid*_*rth的帖子

如何递归地在ES6中编写箭头函数?

ES6中的箭头函数没有arguments属性,因此arguments.callee无法工作,即使只使用匿名函数也无法在严格模式下工作.

箭头函数无法命名,因此无法使用命名的函数表达式技巧.

那么......如何编写递归箭头函数?这是一个箭头函数,根据某些条件递归调用自身等等当然?

javascript recursion ecmascript-6 arrow-functions

36
推荐指数
7
解决办法
1万
查看次数

为什么JavaScript认为354224848179262000000和354224848179261915075相等?

所以,我开始尝试使用递归函数找到第100个Fibonacci数,并使用以下代码记忆该函数.

Function.prototype.memoize = function () {
    var originalFunction = this,
        slice = Array.prototype.slice;
        cache = {};
    return function () {
        var key = slice.call(arguments);
        if (key in cache) {
            return cache[key];
        } else {
            return cache[key] = originalFunction.apply(this, key);
        }
    };
};

var fibonacci = function (n) {
    return n === 0 || n === 1 ? n : fibonacci(n - 1) + fibonacci(n - 2);
}.memoize();

console.log(fibonacci(100));
Run Code Online (Sandbox Code Playgroud)

现在,正如您在这个小提琴中看到的那样,JavaScript会记录354224848179262000000作为结果.根据WolframAlpha,第129个斐波纳契数实际上是354224848179261915075,这是正确的.

现在,我的问题是这个. …

javascript

6
推荐指数
1
解决办法
1322
查看次数

如何为所有行写一个正则表达式后跟一个空行?

现在,在下面的代码段中,您会注意到有一个文件路径列表.每个部分(前面和后面的空行)表示一组重复的文件.我想选择除了其中一个以外的所有内容,以便我可以反转选择并使用列表进行批量删除操作.我不知道如何构造一个正则表达式来选择相同的.

正则表达式必须选择除每个部分中的一行之外的所有行.我怎么写这样的表达?

  "H:\S\recup_dir.17\f171236272.mp3"
  "H:\S\recup_dir.8\f37197984.mp3"

  "H:\S\recup_dir.16\f168470040.gz"
  "H:\S\recup_dir.17\f170038264.gz"

  "H:\S\recup_dir.18\f218780056.mp3"
  "H:\S\recup_dir.9\f46500864.mp3"

  "H:\S\recup_dir.1\f0712280.mp3"
  "H:\S\recup_dir.20\f330856896.mp3"

  "H:\S\recup_dir.20\f304869798.mp3"
  "H:\S\recup_dir.9\f50157574.mp3"

  "H:\S\recup_dir.19\f246711560.mp3"
  "H:\S\recup_dir.9\f49831408.mp3"

  "H:\S\recup_dir.14\f108337512.mp3"
  "H:\S\recup_dir.2\f8089064.mp3"

  "H:\S\recup_dir.16\f152853840.mp3"
  "H:\S\recup_dir.20\f315839720.mp3"
  "H:\S\recup_dir.8\f38617728.mp3"

  "H:\S\recup_dir.22\f414604664.mp3"
  "H:\S\recup_dir.8\f38191280.mp3"

  "H:\S\recup_dir.10\f52349328.mp3"
  "H:\S\recup_dir.22\f415832696.mp3"

  "H:\S\recup_dir.17\f171137807.mp3"
  "H:\S\recup_dir.20\f303943983.mp3"
  "H:\S\recup_dir.8\f37378127.mp3"

  "H:\S\recup_dir.15\f123439872.mp3"
  "H:\S\recup_dir.2\f7974272.mp3"

  "H:\S\recup_dir.2\f6994232.mp3"
  "H:\S\recup_dir.20\f281329576.mp3"
Run Code Online (Sandbox Code Playgroud)

regex sublimetext2

5
推荐指数
1
解决办法
72
查看次数

为什么对象的构造函数对应于父的构造函数?

在下面的代码中,orange构造函数记录为其父的构造函数(Plant()),而不是它的构造函数Fruit().为什么会这样?

(对不起有关随机对象.这是半夜,我只是在学习一些JavaScript.在现实世界中没有想太多关于它们的意义,只需将它们作为样本输入就能更好地理解原型.)

function Plant(name, colour) {
    this.name = name;
    this.colour = colour;
}

Plant.prototype.print = function () {
    return "I'm a " + this.name.toLowerCase() + " and I'm " + this.colour.toLowerCase() + ".";
}

var mango = new Plant("Mango", "Orange");
console.log(mango.constructor);

function Fruit(type, isOrganic) {
    this.type = type;
    this.isOrganic = isOrganic;
}
Fruit.prototype = new Plant("Orange", "Orange");

var orange = new Fruit("staples", true);
console.log(orange.constructor);
Run Code Online (Sandbox Code Playgroud)

我得到了Plant(name, colour)两个console.log()调用,而我认为我应该为第二个调用Fruit(type,isOrganic).我在做什么/理解不正确?

http://jsfiddle.net/eHZf8/

更新:与上述内容一致,如果我执行以下操作...

Fruit.prototype = { …
Run Code Online (Sandbox Code Playgroud)

javascript

5
推荐指数
1
解决办法
85
查看次数

禁用向右滑动到Windows Phone上的上一页

我正在尝试使用http://wipetouch.codeplex.com/在Meteor应用程序上实现滑动以在Iron Router中的模板之间切换.

它在iOS和Android上运行得非常漂亮,但在Windows Phone上,操作系统的本机滑动手势(在浏览器中向右滑动,在历史记录中移动一页)会干扰用户的滑动操作.

有什么方法可以禁用它吗?

还有哪些其他平台具有类似的功能,可以防止用户有效地在Web应用程序中滑动?

作为示例,应用程序还使用相同的库来实现滑动手势.

注意:在body标签上使用touch-action:none不起作用.

javascript jquery touch meteor

4
推荐指数
1
解决办法
2594
查看次数

如何解码重复的无符号MSB和LSB 8位字?

我正在编写一个模块,通过串口从光谱仪接收一些数据,需要对其进行解码.根据手册,光谱数据在重复的无符号MSB和LSB 8位字中被编码为512字节.我将如何在C/C++中解码?

23- 534在重复无符号MSB和LSB 8位字[MSB]*256 + [LSB]中编码为512字节.

这是手册中的一个片段.

好的,我想在这个问题的另一部分添加.根据下面的评论,这是一个big-endian.现在,我对此感到困惑的是,如果它确实是big-endian,那么转换为little-endian会不会像反转所有字节的顺序一样简单?如果是这种情况,那么输出到那将基本上是...... LSB5,MSB5,LSB4,MSB4,LSB3,MSB3,LSB2,MSB2,LSB1,MSB1等等,然后可以转换为16比特话.我在这里错了什么?

此外,如果这确实是big-endian,那么处理转换的方法是否存在任何原生(甚至是特定于平台的,如果必要但更快)的方法?

c c++ embedded

3
推荐指数
1
解决办法
1772
查看次数

堆用C++排序

好吧,所以在努力调试之后,我终于放弃了.我是C++和数据结构的初学者,我正在尝试用C++实现Heap Sort.下面的代码给出了正整数的正确输出,但是当我尝试输入一些负整数时似乎失败了.

请在以下代码中指出任何错误/差异.此外,我们将很高兴收到有关该主题的任何其他建议/批评.

//Heap Sort
#include <iostream.h>
#include <conio.h>
int a[50],n,hs;
void swap(int &x,int &y)
{
    int temp=x;
    x=y;
    y=temp;
}
void heapify(int x)
{
    int left=(2*x);
    int right=(2*x)+1;
    int large;
    if((left<=hs)&&(a[left]>a[x]))
    {
        large=left;
    }
    else
    {
        large=x;
    }
    if((right<=hs)&&(a[right]>a[large]))
    {
        large=right;
    }
    if(x!=large)
    {
        swap(a[x],a[large]);
        heapify(large);
    }
}
void BuildMaxHeap()
{
    for(int i=n/2;i>0;i--)
    {
        heapify(i);
    }
}
void HeapSort()
{
    BuildMaxHeap();
    hs=n;
    for(int i=hs;i>1;i--)
    {
        swap(a[1],a[i]);
        hs--;
        heapify(1);
    }
}
void main()
{
    int i;
    clrscr();
    cout<<"Enter length:\t";
    cin>>n; …
Run Code Online (Sandbox Code Playgroud)

c++ sorting data-structures

2
推荐指数
1
解决办法
3万
查看次数

如何在浮动div中垂直和水平居中锚元素?

我知道这已被问过一千次,我为再次提问而道歉,但经过几分钟的搜索,我无法弄清楚这一点.

我试图将一个锚元素div水平和垂直居中在一个元素中.这个问题的基础如下.

<div></div>
<div></div>
<div>
    <a href="">Hello</a>
</div>
<div></div>
<div></div>

div {
    width: 100px;
    height: 100px;
    background-color: teal;
    box-sizing: border-box;
    margin: 10px;
    float: left;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}

a {
    color: white;
    text-decoration: none;
    font-style: 14px;
}
Run Code Online (Sandbox Code Playgroud)

现在,我知道我可以使用text-align: center;在包含div水平居中锚元素,我也可以用display: table-cell; vertical-align: middle;div垂直对齐,但它似乎并没有一起工作,尤其是当div设置为左浮动.

我怎样才能实现这种相当简单的布局?另外,请详细说明我为什么尝试不起作用,因为我想学习而不是仅仅解决这个问题.

我宁愿不使用,line-height因为它打破了多行文字.

http://jsfiddle.net/xHLze/2/

html css

1
推荐指数
1
解决办法
7319
查看次数