小编Vin*_*ert的帖子

在JavaScript中使用Array.map删除元素

我想通过使用该map()函数来过滤项目数组.这是一段代码:

var filteredItems = items.map(function(item)
{
    if( ...some condition... )
    {
        return item;
    }
});
Run Code Online (Sandbox Code Playgroud)

问题是过滤掉的项目仍然使用数组中的空间,我想完全消除它们.

任何的想法?

编辑:谢谢,我忘了filter(),我想要的实际上是filter()一个map().

EDIT2:感谢您指出map()并且filter()并未在所有浏览器中实现,尽管我的特定代码并不打算在浏览器中运行.

javascript functional-programming client-side data-manipulation

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

Ruby:从字节创建一个String

我想从字节值构建一个字符串.

我目前使用:

str = " "
str[0] = byte
Run Code Online (Sandbox Code Playgroud)

这似乎工作正常,但我觉得它很难看,并且不能很好地扩展到超过1个字符的字符串.

任何的想法?

ruby string byte

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

在VB6 IDE中工作时卸载COM控件

我日常工作的一部分是维护和扩展传统的VB6应用程序.公共引擎是用C/C++编写的,VB6使用这些函数来提高性能.

在异步编程方面,C接口是不够的,我们依靠COM控件将事件激发到VB6.

我的问题是,当我在VB6中注册控件时,VB将此控件加载到内存中,并且在我退出VB6 IDE之前不会卸载它.由于控件是一直加载的,我无法在VC6中重新编译它,因为DLL文件已被锁定.

我找到的解决方案是不在VB中启用控件,而是使用CreateObject()我的控件的全名.问题是我必须将我的控件声明为Object,因为VB6对我正在使用的接口一无所知,而且我无法访问IntelliSense,这很痛苦.

知道如何在退出应用程序后或直接在IDE中告诉VB6卸载控件吗?

vb6 com

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

实现java.lang.Iterator时如何处理异常

java.lang.Iterator接口有3种方法:hasNext,nextremove.为了实现只读迭代器,您必须为其中的两个提供实现:hasNextnext.

我的问题是这些方法没有声明任何异常.因此,如果我在迭代过程中的代码声明异常,我必须将我的迭代代码包含在try/catch块中.

我目前的政策是重新抛出a中的例外情况RuntimeException.但这有问题,因为已检查的异常会丢失,客户端代码不再能明确捕获这些异常.

我如何在Iterator类中解决这个限制?

为清晰起见,这是一个示例代码:

class MyIterator implements Iterator
{
    @Override
    public boolean hasNext()
    {
        try
        {
            return implementation.testForNext();
        }
        catch ( SomethingBadException e ) 
        {
            throw new RuntimeException(e);
        }
    }

    @Override
    public boolean next()
    {
        try
        {
            return implementation.getNext();
        }

        catch ( SomethingBadException e ) 
        {
            throw new RuntimeException(e);
        }
    }

    ...
}
Run Code Online (Sandbox Code Playgroud)

java iterator exception

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

如何解决IE6中的选择重叠错误?

使用IE时,不能在选择的输入元素上放置绝对定位的div.这是因为select元素被认为是一个ActiveX对象,并且位于页面中每个HTML元素的顶部.

我已经看到人们在打开弹出窗口时隐藏选择,这会导致控件消失的用户体验非常糟糕.

FogBugz实际上有一个非常聪明的解决方案(在v6之前)在显示弹出窗口时将每个选项转换为文本框.这解决了这个错误并欺骗了用户的眼睛,但行为并不完美.

另一个解决方案是在FogBugz 6中,他们不再使用select元素并在任何地方重新编码.

我目前使用的最后一个解决方案是搞乱IE渲染引擎并强制它将绝对定​​位<div>为ActiveX元素,确保它可以存在于select元素上.这可以通过在<iframe>内部放置一个不可见的<div>样式来实现:

#MyDiv iframe
{
    position: absolute;
    z-index: -1;
    filter: mask();
    border: 0;
    margin: 0;
    padding: 0;
    top: 0;
    left: 0;
    width: 9999px;
    height: 9999px;
    overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

有没有人比这个有更好的解决方案?

编辑:这个问题的目的是提供信息,因为它是一个真正的问题.我发现这个<iframe>技巧是一个很好的解决方案,但我仍在寻找改进方法,比如删除这个丑陋无用的标签会降低可访问性.

html css html-select internet-explorer-6

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

如何在Eclipse中使用带有所选文本的"sysout"片段?

我知道Eclipse片段"sysout",它被System.out.println()完全取代; 标签完成时.

这非常有用,但有时候,我需要将一些现有代码包装在System.out.println()中;

在Eclipse内部,模板被定义为能够包装"选定的单词".但是,如何使用选定文本的片段,因为键入"sysout"显然会删除所选文本.

任何的想法?

java eclipse code-snippets

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

加速xpath

我有一个1000条目文档,其格式类似于

<Example>
     <Entry>
          <n1></n1>
          <n2></n2>
      </Entry>
      <Entry>
          <n1></n1>
          <n2></n2>
      </Entry>
      <!--and so on-->
Run Code Online (Sandbox Code Playgroud)

这里有超过1000个Entry节点.我正在编写一个Java程序,它基本上逐个获取所有节点并对每个节点进行一些分析.但问题是节点的检索时间随着它的增加而增加.例如,检索第一个节点100毫秒以检索第二个节点需要78毫秒,并且它继续增加.要检索999节点,需要5秒以上.这非常慢.我们将此代码插入到包含超过1000个条目的XML文件中.有些像数百万.解析整个文档的总时间超过5分钟.

我正在使用这个简单的代码来遍历它.这nxp是我自己的类,它具有从xpath获取节点的所有方法.

nxp.fromXpathToNode("/Example/Entry" + "[" + i  + "]", doc);    
Run Code Online (Sandbox Code Playgroud)

并且doc是该文件的文档.i是要检索的节点的否.

当我尝试这样的事情时

List<Node> nl = nxp.fromXpathToNodes("/Example/Entry",doc);  
      content = nl.get(i);    
Run Code Online (Sandbox Code Playgroud)

我面临同样的问题.

任何人都有关于如何加速节点的tretirival的任何解决方案,因此从XML文件获取第一个节点以及1000个节点需要相同的时间.

谢谢


这是xpathtonode的代码.

public Node fromXpathToNode(String expression, Node context)  
{  
    try  
    {  
        return (Node)this.getCachedExpression(expression).evaluate(context, XPathConstants.NODE);  
    }  
    catch (Exception cause)  
    {  
        throw new RuntimeException(cause);  
    }  
}  
Run Code Online (Sandbox Code Playgroud)

这是fromxpathtonodes的代码.

public List<Node> fromXpathToNodes(String expression, Node context)  
{  
    List<Node> nodes = new ArrayList<Node>();  
    NodeList results = …
Run Code Online (Sandbox Code Playgroud)

java performance xpath nodelist nodes

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

在Mac OS X下等效的_wfopen

我期待_wfopen()在Mac OS X下相当于Windows .任何想法?

我需要这个以便移植wchar*用于其File接口的Windows库.由于这是一个跨平台的库,我无法依赖客户端应用程序如何获取文件路径并将其提供给库.

c++ macos winapi porting fopen

16
推荐指数
2
解决办法
9583
查看次数

从WSDL生成JavaScript存根

我正在寻找一种从WSDL生成JavaScript存根的工具.

虽然我通常更喜欢使用带有JSON或XML的REST服务,但我目前正在集成的一些工具只能使用SOAP.

我已经用JavaScript创建了客户端的第一个版本,但是我正在手工解析SOAP信封,我怀疑我的代码是否可以在服务升级中存活,例如,看看SOAP信封规范有多复杂.

那么是否有任何工具可以从WSDL自动为JavaScript生成完全符合SOAP的存根,因此我可以对我的客户端代码的未来更有信心.

更多:我尝试使用的Web服务是RPC编码,而不是文档文字.

javascript soap wsdl

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

Java MessageFormat类线程是否安全?(与SimpleDateFormat相对)

我知道SimpleDateFormat和NumberFormat不是线程安全的.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4101500

但是像MessageFormat这样的其他Format类呢?

Fortify 360将"MessageFormat.format(String,Object ...)"静态方法的使用标记为"Race Condition - Format Flaw"问题,但是当我分析MessageFormat的源代码时,我在那个方法中看到了,它创建一个MessageFormat本身的新本地实例.

Java MessageFormat类线程是否安全?

java thread-safety messageformat

8
推荐指数
2
解决办法
4885
查看次数