小编omr*_*don的帖子

Javascript ES6在undefined上传播运算符

在开发我的反应程序,我需要一个条件道具发送到一个组件,所以我在什么地方找到一个模式来做到这一点,但它似乎很奇怪,我和我无法理解如何以及为什么它的工作.

如果我输入:

console.log(...undefined)   // Error 
console.log([...undefined]) // Error
console.log({...undefined}) // Work
Run Code Online (Sandbox Code Playgroud)

在未定义时激活扩展运算符时会引发错误,但是当undefined在对象内部时,会返回一个空对象.

我对这种行为感到非常惊讶,这真的是它应该如何,我能依靠这个并且这是一个好习惯吗?

javascript javascript-objects ecmascript-6 spread-syntax

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

在玩笑测试中未定义innerText

使用笑话进行测试时,我看到该属性innerText未定义,而未经测试,它具有正确的值。

  it('get text from div', () => {
    const div = document.createElement('DIV')
    div.innerHTML = '<br>a<br>b<br>c'
    console.log('innerText', div.innerText) // undefined
    console.log('textContent', div.textContent) // 'abc'
    // expect(getTextFromDiv(div).length).toMatchSnapshot()
  })
Run Code Online (Sandbox Code Playgroud)

但是,如果在笑话测试中未使用相同的代码,innerText将显示:

'a

b

c'
Run Code Online (Sandbox Code Playgroud)

和textContent是'abc'

为什么在笑话中的innerText是未定义的,而当不在笑话中时,其值是真实的?

这是它起作用的代码(不是开玩笑):

const addTextInRichTextToPdf = (doc, text, offsetY) => {
  const div = document.createElement('DIV')
  div.innerHTML = '<br>a<br>b<br>c'
  console.log('innerText', div.innerText) // print the real value
  console.log('textContent', div.textContent) // 'abc'
  ...
Run Code Online (Sandbox Code Playgroud)

javascript reactjs jestjs

10
推荐指数
2
解决办法
2637
查看次数

使用python docx组合word文档

我有几个单词文件,每个文件都有特定的内容.我想要一个片段向我展示或帮助我弄清楚如何将word文件合并到一个文件中,同时使用Python docx库.

例如,在pywin32库中,我执行了以下操作:

rng = self.doc.Range(0, 0)
for d in data:
    time.sleep(0.05)

    docstart = d.wordDoc.Content.Start
    self.word.Visible = True
    docend = d.wordDoc.Content.End - 1
    location = d.wordDoc.Range(docstart, docend).Copy()
    rng.Paste()
    rng.Collapse(0)
    rng.InsertBreak(win32.constants.wdPageBreak)
Run Code Online (Sandbox Code Playgroud)

但我需要在使用Python docx库而不是win32.client

python python-2.7 python-docx

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

找到大于定义参数编号的最小数字

我想在列表中找到最接近我的号码但比他大的号码。

例如:

num = 20
li = [19,23,24,1,2]
Run Code Online (Sandbox Code Playgroud)

我想要 23。

我试过这样做:

hour = min(dfHour, key=lambda x:(x-localtime[3])>0)
Run Code Online (Sandbox Code Playgroud)

但它只返回最接近的,即使它不是我的数字更大

另一个问题是,如果我在列表中还有另外 23 个,我该如何返回它们(它们的索引已经足够好了)

python

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

通过ref获取字典

我想知道一个字典的正确值是否可以通过ref.所以,当我改变字典的值时,其他一些值也会改变,例如:

double num = 7;
Dictionary<string,double> myDict = new Dictionary<string, double>();
myDict.Add("first",num);
myDict["first"]=4;
// i want num also to change to 4.. is it possible?
Run Code Online (Sandbox Code Playgroud)

感谢您的任何帮助.

c#

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

使用睡眠或更新JavaScript

我是javascript和jquery的新手,刚刚完成了一个教程.

$('form').keydown(function (key) {
    key = parseInt(key.which, 10);
    var toAdd = $('input[name=type]').val();
    var s = $('.text p').text();
if (key !== 8) {
    s = s.substring(0, toAdd.length);
    alert(s);
    alert(toAdd);
    if (toAdd === s) {
        $('.img').animate({ left: '+=25px' }, 5);
    }
Run Code Online (Sandbox Code Playgroud)

这是我试图执行的代码的一部分.

但是当我在文本框中插入文本时,第一个字母没有分配到toAdd.

当我把线放在第二和第三行之间时它工作得很好:

alert("something");
Run Code Online (Sandbox Code Playgroud)

我是否需要使用等待或稍微等待的功能?

我希望我能理解......

谢谢

javascript jquery

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

在词典中使用Action或FUNC

我想知道是否可以将模板传递给像这样的函数:

 Dictionary<string, Action<object>> myDict= new Dictionary<string, Action<object>>();
 myDict.Add("someString",(nameOfMethod));
Run Code Online (Sandbox Code Playgroud)

例如,这个方法是一个setter,因此它接收一个参数(double或string或int etc ...)并返回void.

我想以下是不可能的..(我得到了这个错误:错误'System.Collections.Generic.Dictionary> .Add(string,System.Action)的最佳重载方法匹配'有一些无效的参数)

任何想法怎么做?

c#

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