小编Wil*_*iam的帖子

如何使用递归创建二进制搜索

我试图写一个我以前从未做过的"二分搜索".当搜索的值为6或2时,下面的代码不起作用,我想知道我做错了什么以及如何解决它.

编辑

为了解释它的作用(根据我的理解),二进制搜索要求数组已经排序,然后查找数组的中点索引.例如,如果一个数组有九个索引(0-8),则中间点将是索引4.

var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
Run Code Online (Sandbox Code Playgroud)

然后,算法确定该中点的值是否高于或低于您要搜索的数字.数组一侧的所有元素都不包含搜索到的数字,并且在中点值之前存在的元素只是被删除.如果搜索值为8,则结果为:

[ 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
array midpoint value: 5
[ 5, 6, 7, 8, 9 ]
array midpoint value: 7
[ 7, 8, 9 ]
array midpoint value: 8
Run Code Online (Sandbox Code Playgroud)

//_________________________________________________BEGIN notes

    // Step 1. Get length of array 
    // Step 2. Find mid point
    // Step 3. Compare if mid point is lower or higher than searched …
Run Code Online (Sandbox Code Playgroud)

javascript algorithm recursion binary-search

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

如何在Windows 10上设置Postgres路径变量

我在Windows计算机上,无法解决此错误:

我已尝试根据各种在线建议修改路径变量,但似乎无济于事。我在这里已经一个多小时了。

我很好奇我应该怎么做才能读取path变量。

我在Windows 10上。

我想我需要白痴证明的逐步说明。

这是我的尝试之一的示例:

在此处输入图片说明

当我从命令提示符下运行psql时,无法识别它。

postgresql

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

React Redux:如何在减速器之间共享数据?

我有一个基本的待办事项清单。待办事项列表的待办事项输入字段有一个 onChange 事件,该事件会触发一个动作并将 event.target.value 发送到减速器并将用户键入的每个字符存储到商店对象的属性中。

当用户提交表单时,我想获取以前通过 onChange 事件存储的数据,然后我想将它放在 store 对象的新属性上。

如何获取先前从商店输入的数据并将其拉入不同的减速器?

在我见过的所有示例中,reducer 都以“初始状态”开始。我不想要那个,我想要用户输入的先前状态。

下面是代码的 CodeSandbox 版本(出于某种原因,右侧的橙色-米色选项卡需要向左切换为蓝色才能呈现表单。如果您不这样做,它将无法工作)。

https://codesandbox.io/s/pwqlmp357j

javascript reactjs react-redux

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

如何在if语句中打开/关闭JQueryUI Draggable

我写了一个代码块(下面),在一个元素上打开/关闭JQuery Draggable.简而言之,当您单击一个名为button的div时,它会在另一个名为dragBlock的 div 上打开/关闭可拖动效果

这花了我一段时间,但我终于让它工作了.我的问题是我不明白为什么下面的代码不能只与一个Draggable实例一起使用.主要是使用state参数的那个.

$(dragBlock ).draggable(state);
Run Code Online (Sandbox Code Playgroud)

相反,只有当我使用它时它才有效:

$(dragBlock ).draggable(state);
$(dragBlock ).draggable();           // This line is needed for the code to work. Why?
Run Code Online (Sandbox Code Playgroud)

这不是一个大问题,但我想知道为什么这是,我想这里有人可能能够解释它.JSfiddle在这里:

代码如下:

$(document).ready(function() {
   var state = "disable";
   var button = document.getElementById("button");
   var dragBlock = document.getElementById("dragBlock");
   var toggle = function() {

   if (state==="enable") {
       state = "disable";
   }
   else if(state==="disable") {
       state = "enable";
   }

   $(dragBlock ).draggable(state);
   $(dragBlock ).draggable();           // This line is needed for the …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui

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

设置 Material UI Snackbar 的背景颜色

当我设置 className 来更改 Snackbar 的背景时,它不会覆盖它。相反,当页面呈现时,它会暂时显示我想要的背景颜色,然后立即被覆盖。

我查看了其他一些 Stackoverflow 答案,但仍然无法正常工作。

// imports....
import Snackbar from '@material-ui/core/Snackbar';
import createClientsStyle from "../../../PageComponents/Landing/CreateClients/style";

function CreateClients(props) {

    //....code

      const { classes } = props;

      return (

              //............code

              <div>

                  <Snackbar

                      className={classes.snackbarStyle}    //<--- here

                      anchorOrigin={{
                        vertical: 'top',
                        horizontal: 'right',
                      }}

                      open={true}
                      autoHideDuration={6000}

                      ContentProps={{
                        'aria-describedby': 'message-id',

                      }}

                      message={<span id="message-id"><div>Hi there! Some message.</div></span>}

                  />
            </div>

    );
}

CreateClients.propTypes = {
  classes: PropTypes.object.isRequired
}

const styles = (theme)=>(createClientsStyle(theme));

export default withStyles(styles)(CreateClients)
Run Code Online (Sandbox Code Playgroud)

样式表

const createClientsStyle = function(theme){
    return  {
     root: {
        flexGrow: …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs material-ui

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

无法运行 Phoenix 服务器。找不到 erlang/lib/parsetools-2.1.8

~/Desktop/phoenix_sandbox/app$ mix phx.server
==> gettext
Compiling 1 file (.yrl)
/usr/lib/erlang/lib/parsetools-2.1.8/include/yeccpre.hrl: no such file or directory

could not compile dependency :gettext, "mix compile" failed. You can recompile this dependency with "mix deps.compile gettext", update it with "mix deps.update gettext" or clean it with "mix deps.clean gettext"
Run Code Online (Sandbox Code Playgroud)

我一直在绕着错误转圈。我安装了“解析工具”(无论它是什么)。如果我执行“mix deps.clean gettext”,它会让我原地踏步,并且得到同样的错误。我在Ubuntu上

ubuntu elixir phoenix-framework

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

通过 javascript 触发 CSS 动画

我想通过 CSS 动画触发 javascript,反之亦然(用于触发 CSS 的 Javascript)。

最终目标是让 CSS 动画闪烁,并让它们触发通过 Web Audio API 导入的音频文件。

现在我只是对让 CSS 动画和 Javascript 相互交流感兴趣。

所以..

我正在 Webkit 浏览器中试验 exclusivley。下面是一个堆栈溢出线程,它似乎回答了我问题的第一部分: 如何通过 JavaScript 重新触发 WebKit CSS 动画?

但我无法让它发挥作用。

我添加了我在下面抓取/修改的代码

<!--SETUP-->
<!DOCTYPE html>
<meta charset="UTF-8">
<title>test</title>
<link rel="stylesheet" href="test.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" charset="utf-8"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js"></script>
<!--END setup-->



<script src="test.js"></script>
<div id="box"> shake </div>
<div id="button"> Button </div>   
Run Code Online (Sandbox Code Playgroud)

CSS

#button {
    width:100px;
    height:100px;
    background:blue;
    position:absolute   

}

#box{
width:100px;
height:100px;
background:red;
position:absolute;
top:100px;
left:90%;
margin-left:100px;
-webkit-animation: shake 1.5s  steps(1)  ; …
Run Code Online (Sandbox Code Playgroud)

javascript css

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

将简单增益节点连接到Web Audio API文件缓冲区

我似乎无法理解为什么这不起作用.我没有错误.我使用振荡器做到了这一点并且工作正常.仅供参考,这是此主题的延续: 使用Web Audio API将两个声音分配给两个Div并通过javascript单击事件独立播放

码:

<div id="divElement"></div>


<style> 

#divElement{
background-color: orange;
width:70px;
height:100px;
left:143px;
}

</style>

<script>

var context = new webkitAudioContext(),
    savedBuffer;

var playAudioFile = function () {
    var source = context.createBufferSource();
    var gainNode = context.createGainNode();
    source.buffer = savedBuffer;


 // START OF PROBLEM AREA: Gain not working but file still plays with no errors.

    source.connect(gainNode);           
    gainNode.connect(context.destination);
    gainNode.gain = 0;

 // END OF PROBLEM AREA

    source.noteOn(0); // Play sound immediately


};

var request = new XMLHttpRequest();

request.open('get', 'audio/A.mp3', true);
request.responseType …
Run Code Online (Sandbox Code Playgroud)

web-audio-api

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

在Ruby中键入数组索引值的检查

在Javascript中,如果我想对数组索引进行类型检查,我可以这样做:

var array = [1,2,3,4,"the monster from the green lagoon"]

for (i=0;  i < array.length;  i++) {

    if (typeof(array[i]) === 'number')      {
    console.log("yes these are all numbers");

    }

    else        {
    console.log("Index number " + i + " is " +  array[i] +": No this is not a number");

    }

}
Run Code Online (Sandbox Code Playgroud)

在Ruby中,我不明白如何做到这一点.我正在尝试对整数进行检查.我知道在Ruby世界中,使用每种方法被认为是很好的礼仪,因此基本的循环是这样的:

array = [1, 2, 3, 4, 5, 6]
array.each { |x| puts x }
Run Code Online (Sandbox Code Playgroud)

我很困惑的部分是语法是外来的,我不清楚逻辑在哪里.我还没有进行实际的类型检查,但是根据我的阅读,它将与Integer类型进行比较:

if array[i] == Integer
Run Code Online (Sandbox Code Playgroud)

谢谢.

ruby

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