小编Rik*_*ard的帖子

节流和去抖功能

我对油门和去抖功能的概念有点不确定.

我明白了:

我们去掉了一个应该在某个事件发生后调用的函数.它用于拖动,键盘等事件,目的是不会一直触发事件被触发,而是在事件系列完成时触发.通常在键入整个单词后,或者拖动或调整大小序列已结束.

我们限制了在发生一系列事件时应该触发的函数,但是当我们想控制它被调用的次数时.就像在拖动运动中一样,我们希望仅在距离的每x个像素中调用该函数,或者仅每隔100ms调用该函数,而不是每次触发该事件时都调用该函数.因此,在发生一系列事件时调用油门功能,只需更少次数.

题:

这是对这些功能及其目的的正确看法吗?还有其他功能可以区分它们吗?

javascript throttling function debouncing

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

使用 Discord.js/opus 将 Wav 转换为 Opus 无声无息地失败

我正在尝试将 WAV 文件转换为 Opus,使用 Nodefs.readFile并将该缓冲区传递给@Discord/opus转换器。我既没有得到结果,也没有得到错误的解释以及错误的解释。这基本上是你在文档中的例子......对吗?

漏洞?按设计?还是我错过了什么?我希望会try/catch被调用,但不知何故错误被“吸收”,脚本只是默默退出。

在线示例:https : //codesandbox.io/s/funny-jones-d7sls?file=/src/index.js

const audioBuffer = await fs
    .readFile(file)
    .catch(err => console.log("Error reading input file:", err));

  console.log("LENGTH:", audioBuffer.length); // all good so far...
  const encoder = new OpusEncoder(41000, 2);

  let encoded = null;
  try {
    console.log("Trying to encode..."); // log runs
    encoded = encoder.encode(audioBuffer);
    console.log("Encoded!"); // log doesn't run :(
  } catch (err) {
    console.log("Encoding failed:", err); // no error thrown... :'(
  }
  return encoded;
Run Code Online (Sandbox Code Playgroud)

更多细节:

  • @discordjs/opus …

javascript node.js opus discord.js

9
推荐指数
0
解决办法
581
查看次数

将项目分组为3的算法

我试图解决一个问题,我有像这样的对:

A C
B F
A D
D C
F E
E B
A B
B C
E D
F D
Run Code Online (Sandbox Code Playgroud)

我需要将它们组成3组,我必须从该列表中获得匹配的三角形.基本上我需要一个结果,如果它可能或不分组集合.

所以可能的组是(ACDBFE),或(ABCDEF),这个集合是可分组的,因为所有字母都可以按3组分组,不会遗漏任何一个.

我制作了一个脚本,我可以通过这个小小的输入来实现这个目标,但是对于大的ammounts,它变得太慢了.

我的逻辑是:

make nested loop to find first match (looping untill I find a match)
 > remove 3 elements from the collection
  > run again
Run Code Online (Sandbox Code Playgroud)

我这样做直到我没有信件.由于可以有不同的组合,我会从不同的字母开始多次运行,直到找到匹配.

我可以理解,这至少给了我循环,N^N并且可能变得太慢.这些问题有更好的逻辑吗?可以在这里使用二叉树吗?

algorithm combinatorics

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

动画CSS剪辑

我试图使用CSS3过渡来动画CSS clip没有成功.图像只是剪辑而没有过渡.

我错过了什么?

#clipped {
    position:absolute;
    width: auto;
    clip: rect(100, 100, 100, 100);
    -webkit-transition: all 0.5s ease-out;
    -moz-transition: all 0.5s ease-out;
    transition: all 0.5s ease-out;
}
#clipped:hover {
    clip: rect(50px, 200px, 200px, 0);
}
Run Code Online (Sandbox Code Playgroud)

小提琴

css css3

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

达到新窗口的内容.打开

我开了一个新窗口

var win = window.open("", "", "width=400, height=200");
Run Code Online (Sandbox Code Playgroud)

我希望能够达到它的身体

var $windowBody = $(win.document.body);
Run Code Online (Sandbox Code Playgroud)

从那里使用像.find(),.html()

这适用于FF和Chrome 但不适用于IE.找到了这个相关的帖子.

如何解决这个问题?即,如何使这项工作跨浏览器?

jsFiddle - 注意关闭按钮永远不会出现在IE中.

javascript jquery internet-explorer

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

如何知道类构造函数是否通过super调用?

如果我有这个:

class Human {
    constructor(){

    }
}

class Person extends Human {
    constructor(){
        super();
    }
}
Run Code Online (Sandbox Code Playgroud)

是否有可能知道人类的构造函数是否是通过Person类调用的?我想过arguments.callee但是已经弃用了.

javascript ecmascript-6

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

Vue.js道具,组件和数据命名空间

当我有一个Vue.js组件时,它看起来像:

import Icon from './Components/Icon.vue'
export default {
    props: {
        data: {type: Object}
    },
    data() {
        return {
            label: this.data.label || '',
            icon: this.data.icon || '',
            placeholder: this.data.placeholder || '',
            value: this.data.value || '',
            disabled: this.data.disabled || false,
            readOnly: this.data.readOnly || false,
            options: this.data.options || []
        }
    },
    components: {
        Icon: Icon
    }
}
Run Code Online (Sandbox Code Playgroud)

命名空间如何在Vue中工作?是道具键,数据返回对象键,以及所有组件对象键都会被添加到this实例中吗?是否存在错误/重写内容的风险?

所以,如果我覆盖this.data,我仍然可以读取我收到的原始值props吗?

什么是在data状态对象中设置"默认"值的社区实践,props因此我们都可以拥有一个动态state对象,并保留props它以防万一我们需要它?

并且相关:如果通过props,v-bind我应该将它们添加到watch我的组件内部吗?或者将我的所有动态值作为计算版本,并在props每次调用它时考虑到它? …

javascript vue.js

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

向量化单词时如何处理文本字符串中的数字?

如果我有一个要矢量化的文本字符串,我应该如何处理其中的数字?或者,如果我向神经网络提供数字和单词,我如何将数字保存为数字?

我打算制作一本关于我所有单词的字典(如此处所示).在这种情况下,所有字符串都将成为数字数组.我该如何处理数字字符?如何输出不将单词索引与数字字符混合的向量?

将数字转换为字符串会削弱我为网络提供的信息吗?

nlp word2vec tensorflow word-embedding

6
推荐指数
2
解决办法
2342
查看次数

画布鼠标事件位置与光标不同

我开始尝试使用canvas,这可能是一个基本问题,但在这里找不到问题.

我的鼠标光标比使用鼠标事件坐标在画布上绘制的线慢.我在这里错过了什么?

小提琴

PS-如果使用jQuery的鼠标事件同样的问题:http://jsfiddle.net/2q4Sd/2/

window.addEvent('mousemove', function (event) {
    draw(event.event.clientX);
});

function draw(mouseX) {
    ctx.beginPath();
    ctx.strokeStyle = "black";
    ctx.lineWidth = 1;
    ctx.moveTo(mouseX, 0);
    ctx.lineTo(mouseX, canvas.height);
    ctx.stroke();
    ctx.closePath();
}
Run Code Online (Sandbox Code Playgroud)

html javascript html5 html5-canvas

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

元素宽度/高度的方法

问:是否有这样一个场景,getBoundingClientRectwindow.getComputedStyle会在不同widthheight

width当元素的box-sizingwhere window.getComputedStyle返回错误值时,我刚刚在IE中发现不一致(请参见下文)。

因此,我考虑过仅使用值widthheight值进行覆盖,getBoundingClientRect但不确定在某些情况下会失败。

问题的示例(在IE中损坏):http : //jsfiddle.net/bwPM8/

var box = document.querySelector('.box');
var gBCR_width = box.getBoundingClientRect().width; // always 200
var wGCS = window.getComputedStyle(box).width; // 200 some browsers, 160 in IE
Run Code Online (Sandbox Code Playgroud)

javascript css css3

5
推荐指数
2
解决办法
1826
查看次数