问题列表 - 第39250页

按字符串数组过滤javascript对象数组

我有一个对象数组,如下所示:

var companies = [
    { "name" : "Company 1",
      "logo" : "/logo.gif" },
    { "name" : "Company 2",
      "logo" : "/logo2.gif" },
    { "name" : "Company 3",
      "logo" : "/logo3.gif" } ];
Run Code Online (Sandbox Code Playgroud)

我想过滤此数组以仅获取具有另一个数组中存在的名称的值:

var myCompanies = [ "Company 1", "Company 3" ];
Run Code Online (Sandbox Code Playgroud)

在此示例中,要返回的数据将是:

var companies = [
    { "name" : "Company 1",
      "logo" : "/logo.gif" },
    { "name" : "Company 3",
      "logo" : "/logo3.gif" } ];
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

javascript jquery

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

使用JerseyTest,Maven和TestNG测试Jersey-Spring集成

我想用Jersey Test-Framework测试我的Jersey资源.

我按照这里提供的描述

创建一个简单的例子.我的示例在http://github.com/rmetzler/Jersey-Test上作为git存储库托管.

$ mvn jetty:run按预期工作但我在运行时不断获得NullPointerExceptions $ mvn clean test.

java.lang.NullPointerException
at com.sun.jersey.spi.container.ContainerResponse.mapException(ContainerResponse.java:429)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1295)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1239)
at com.sun.jersey.test.framework.impl.container.inmemory.TestResourceClientHandler.handle(TestResourceClientHandler.java:119)
at com.sun.jersey.api.client.Client.handle(Client.java:616)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:559)
at com.sun.jersey.api.client.WebResource.get(WebResource.java:182)
at example.jersey.spring.MyResourceTest.testMyResource(MyResourceTest.java:30)
...
Run Code Online (Sandbox Code Playgroud)

我打赌我犯了一个我无法找到的小错误.我会向另一位开发者展示我的来源,但不幸的是我在家独自工作.那么也许你们中有人可以帮助我?

UPDATE

我通过运行创建了一个Eclipse项目$ mvn eclipse:eclipse.现在,当我在Eclipse中以JUnit Test运行测试时它是绿色的.当它作为TestNG Test运行时,它失败了.所以我猜它与TestNG如何执行测试有关.

testng spring maven-2 jersey

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

Process.Start("IIS Manager.lnk")失败,"系统找不到指定的文件"

我启动路径C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk通过Process.Start,但它失败The system cannot find the file specified.

链接显示在a上dir,因此它存在.

可以是权限吗?

笔记:

  • 通过遍历Start Menu目录自动发现该路径.
  • 我可以通过资源管理器和命令行启动它.

澄清:

  • 代码如下:

    public void Execute(){Process.Start(_shortcut.FullName);}

  • _shortcut的类型为FileInfo

  • _shortcut.Exists为true,因此可以找到该文件
  • 用显式路径替换_shortcut.FullName @"C:\ ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk"具有相同的效果.
  • 这是一个使用Caliburn和MEF的WPF应用程序.
  • 以管理员身份运行具有相同的效果.

另一方面,这似乎工作:

    [Fact]
    public void TestIisManager()
    {
        var path = new FileInfo(@"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\IIS Manager.lnk");
        Process.Start(path.FullName);
    }
Run Code Online (Sandbox Code Playgroud)

它似乎有点"基于环境".

第二个澄清:

  • 它似乎适用于Windows 7 x86,但不适用于Windows 7 x64.

.net c# windows

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

是否正确使用#pragma warning push/pop来暂时改变警告级别?

偶尔编写一下根本不会发出警告的C++代码是很困难的.然而,启用警告是一个好主意.因此,通常需要禁用某些特定构造周围的警告,并在所有其他代码段中启用它们.

到目前为止,我已经看到了两种方法.

第一个是使用#pragma warning( push )#pragma warning( pop ):

 #pragma warning( push )
 #pragma warning( disable: ThatWarning )
 //code with ThatWarning here
 #pragma warning( pop )
Run Code Online (Sandbox Code Playgroud)

第二是使用#pragma warning( default ):

 #pragma warning( disable: ThatWarning )
 //code with ThatWarning here
 #pragma warning( default: ThatWarning )
Run Code Online (Sandbox Code Playgroud)

我在第二个变体中看到的问题是它丢弃了原始警告级别 - 警告可能在此之前已关闭或警告级别可能已被更改.使用default会丢弃这些改动.

第一种方法看起来很干净.它有什么问题吗?有没有更好的方法来实现同样的目标?

c++ warnings pragma compiler-warnings visual-c++

70
推荐指数
4
解决办法
5万
查看次数

如何在Delphi中将字符串保存到文本文件中?

创建字符串并将其保存到.txt文件中的最简单方法是什么?

delphi text-files

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

如何控制MembershipProvider实例创建/生命周期?

我在Web.Config文件中注册了一个自定义MembershipProvider类.我正在使用Castle Windsor进行Inversion Of Control,我将自定义MembershipProvider类注册为瞬态(因为它使用的是瞬态服务).

这意味着我希望在每个Web请求上重新创建成员资格提供程序实例.目前,每个应用程序域只创建一次,因此当它尝试访问它所依赖的服务时,该服务实例在不应该被重用时被重用.

现在我需要找到一种方法让Windsor控制我的自定义MembershipProvider的生命周期,但我不知道如何.我期待一个工厂坐在.NET Framework的某个地方,允许我覆盖实例创建并将其重新路由到Windsor,但我找不到任何相似的东西.

顺便说一句,我使用的是.NET 4.0.

更新:这是我的一些代码,所以你可以看到我正在做的事情:

Web.Config中:

<membership defaultProvider="MyMembershipProvider" >
  <providers>
    <clear/>
    <add name="ApplicationMembershipProvider"
         type="MyNamespace.MyMembershipProvider, MyAssembly"/>
  </providers>
</membership>
Run Code Online (Sandbox Code Playgroud)

会员提供者

public class MyMembershipProvider : MembershipProvider
{
    private IMyService myService;

    public MyMembershipProvider() : base()
    {
        // We should use constructor injection here but since we cannot control
        // the construction of this class, we're forced to create the dependency
        // ourselves.
    }

    public override bool ValidateUser(string username, string password)
    {
        if (myService == null)
        {
            // This …
Run Code Online (Sandbox Code Playgroud)

.net asp.net castle-windsor asp.net-membership inversion-of-control

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

foward typedef结构

gcc 4.4.4 c89
Run Code Online (Sandbox Code Playgroud)

我在头文件中有这个.

port.h

struct struct_tag;

int initialize_ports(struct_tag *port);
Run Code Online (Sandbox Code Playgroud)

在我的实现文件中,我有这个:

port.c

typedef struct struct_tag {
    int port_id;
} Port_t;
Run Code Online (Sandbox Code Playgroud)

在我的driver.h文件中,我有以下内容:

#include "port.h"
int initialize_ports(struct_tag *port)
{
    port = malloc(sizeof *port);
    /* do checking here */
}
Run Code Online (Sandbox Code Playgroud)

我已经向前声明了结构,因为我想隐藏内部元素.

但是,我在头文件中的initialize_ports上收到以下错误:

expected ‘)’ before ‘*’ token
Run Code Online (Sandbox Code Playgroud)

我只是想知道如何转发声明并能够将结构作为参数传递?

非常感谢任何建议,

c struct typedef forward-declaration

4
推荐指数
2
解决办法
439
查看次数

最后Block没有运行?

好吧,这是一个奇怪的问题,我希望有人可以解释一下.我有以下代码:

static void Main(string[] args)
{
    try
    {
        Console.WriteLine("in try");
        throw new EncoderFallbackException();
    }
    catch (Exception)
    {
        Console.WriteLine("in Catch");
        throw new AbandonedMutexException();
    }
    finally
    {
        Console.WriteLine("in Finally");
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,当我将其编译为目标3.5(2.0 CLR)时,它将弹出一个窗口,说"XXX已停止工作".如果我现在单击取消按钮它将运行finally,如果我等到它完成查找并单击关闭程序按钮它也将运行finally.

现在有趣和令人困惑的是,如果我针对4.0编译同样的事情点击取消按钮将运行finally块并单击关闭程序按钮不会.

我的问题是:为什么在点击关闭程序按钮时,终于在2.0上运行而不在4.0上运行?这有什么影响?

编辑:我在Windows 7 32位的发布模式(内置发布模式)中从命令提示符运行此命令.错误消息:在Windows查找问题后,下面的第一个结果是3.5点击关闭,第二个是我在4.0上运行它并执行相同的操作.

替代文字

c# exception-handling c#-4.0

18
推荐指数
4
解决办法
2958
查看次数

Android 2.1中不加载外部字体

我在嵌入式HTML资源中使用外部TrueType字体.字体位于资源中,与HTML资源位于同一级别.

字体加载CSS:

@font-face { 
    font-family: MyExternalFont; 
    src: url('MyExternalFont.ttf'); 
}
body {
    font-family:MyExternalFont;
}
Run Code Online (Sandbox Code Playgroud)

并且HTML资源加载如下:

WebView w = (WebView) findViewById(R.id.webview);
w.loadUrl("file:///android_asset/index.htm");
Run Code Online (Sandbox Code Playgroud)

这适用于Android 1.5,Android 1.6Android 2.2.它在Android 2.1中不起作用.

但是,当我加载字体并在a中使用它时TextView,它适用于所有Android版本.我是这样做的:

final Typeface t = Typeface.createFromAsset(getContext().getAssets(), "MyExternalFont.ttf");
textView.setTypeface(t);
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?

(不幸的是我无法上传字体,因为它是付费字体)

css android webview font-face typeface

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

如何在数据库中存储url并生成unque id

我想用php和mysql创建一个应用程序.

假设我正在进行api调用并获取网址列表.我想存储这些网址,每个网址应该有一个uniqe id(即数字),以便我可以将该ID传递给某个页面,我可以从我的数据库中获取网址.

假设我做了一个api调用得到五个关键字"xyz"的网址,我得到了以下网址和各自的标题

google.com/abc1.html title1
google.com/abc2.html title2
google.com/abc3.html title3
google.com/abc4.html title4
Run Code Online (Sandbox Code Playgroud)

所以我想生成每个网址的唯一ID

id1 google.com/abc1.html title1
id2 google.com/abc2.html title2
id3 google.com/abc3.html title3
id4 google.com/abc4.html title4
Run Code Online (Sandbox Code Playgroud)

约束是url应该是唯一的

数据库可以容纳12个左右的URL.

你能指导我如何实现吗?还给出了一些优化指南

谢谢

php mysql database

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