小编VSO*_*VSO的帖子

了解'arr.filter(callback [,thisArg])'语法

arr.filter(callback[, thisArg])
Run Code Online (Sandbox Code Playgroud)

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

因此,这是我应该理解的文档中的示例。

Arr =一些数组,很棒。filter =数组具有的一种方法,很棒。回调=一些功能,基本上。大。那是[, thisArg]什么

查看一些关于stackoverflow的示例,结果显示:

objects.filter(function (obj) {
  return obj.someIntProp <= 1000 
});
Run Code Online (Sandbox Code Playgroud)

我了解这是如何工作的,我不需要使用它的帮助。我只想了解[, thisArg]应该如何告诉我该函数采用数组中的每个对象。我觉得我似乎错过了大多数人都可以在Coding 101中学习的显而易见的东西。

javascript arrays filter

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

为什么我的 .NET MongoDb 驱动程序查询速度非常慢?

我直接在 Mongo 中运行查询select all items where field1=x, field2 =y, and field3=z(Robomongo、CLI,等等),对数十万个项目只需要不到一秒的时间:

db.items.find( { 
    $and: [ 
        { CreatingOrgId: 1 }, 
        { LocationId: 941 },
        { StatusId: 1}
    ] 
} )
Run Code Online (Sandbox Code Playgroud)

然后,我尝试从 C# 驱动程序运行完全相同的东西,但它滞后了(只有“聚合过滤器”代码相关,其他所有内容都用于上下文):

FilterDefinition<BsonDocument> locationsFilter;  = Builders<BsonDocument>.Filter.Eq("LocationId", 941);
FilterDefinition<BsonDocument> orgFilter = Builders<BsonDocument>.Filter.Eq("CreatingOrgId", 1);
FilterDefinition<BsonDocument> statusFilter = Builders<BsonDocument>.Filter.Eq("StatusId", 1);

FilterDefinition<BsonDocument> aggregateFilter = locationsFilter & statusFilter & orgFilter;

        List<ItemViewModel> stuffList = mongoItemsCollection
                                             .Find(aggregateFilter)
                                             .Project(x => Mapper.Map<BsonDocument, StuffViewModel>(x))
                                             .ToListAsync().Result;
Run Code Online (Sandbox Code Playgroud)

我在这里犯了什么错误?以下是 mongo 看到的查询:

在此输入图像描述

编辑:看起来将项目映射到项目对象是在某种程度上杀死我的查询的原因。如果没有映射,它的速度相当快(大量记录只需几秒钟),如下所示:

    var rawItems = mongoItemsCollection
                             .Find(aggregateFilter)
                             .ToListAsync().Result;
Run Code Online (Sandbox Code Playgroud)

编辑2:看起来automapper是这里问题的一个重要部分(采用bson“item”对象并将其转换为.NET视图模型)。如果有人想回答的话,我仍然对 .NET --> …

mongodb mongodb-query mongodb-.net-driver

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

C#/.NET 实体框架中的动态查询生成器

假设我们使用的db是 EF6 ,并且是 EF DbContext。假设用户可以输入五个可能的查询:

  1. 购买车龄等于 10 的汽车。
  2. 购买车龄小于 10 的汽车。
  3. 购买车龄超过 10 年的汽车。
  4. 购买车龄不等于 10 岁的汽车。
  5. 获取任何年龄的汽车。
    枚举运算符
    {
        平等的,
        不等于,    
        少于, 
        多于,
        任何
    };

    var operator = //某些用户选择的运算符,在上面枚举中可用的运算符中
    var carAge = //int 由用户选择以指定所需的年龄
    列出汽车; 

    开关(操作员)
    {
        case Operator.EQUAL 
        {
            汽车 = db.Cars.Where(c=> c.Age == carAge).ToList(); 
        }
        case Operator.NOT_EQUAL 
        {
            汽车 = db.Cars.Where(c=> c.Age != carAge).ToList(); 
        }
        case Operator.LESS_THAN 
        {
            汽车 = db.Cars.Where(c=> c.Age c.Age > carAge).ToList(); 
        }
        案例运算符.ANY 
        {
            汽车 = db.Cars.ToList(); 
        }
    }

我如何更有效地做到这一点?开关运算符看起来很傻。看起来这篇文章 …

c# entity-framework

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

打字稿与Tsc对比Ntypescript

这一切都始于tsc --init不工作......

有什么区别:

npm install -g typescript
npm install -g tsc
npm install -g ntsc
Run Code Online (Sandbox Code Playgroud)

我认为"tsc"只是打字稿的快捷方式,但列出它们似乎给出了不同的版本

PS C:\ angular2-app> npm list -g tsc
C:\ Users\Wheeeeee\AppData\Roaming\
npm└──tsc@1.20150623.0

PS C:\ angular2-app> npm list -g typescript
C:\ Users\Wheeeeee\AppData\Roaming\
npm└──stykscript@1.8.10

那么,两者之间的区别是什么.打字稿是库和tsc某种命令行助手吗?

PS我真的不关心ntsc,如果你知道副手或因某种原因认为这是必须的,这只是问题的一部分.别这样说.

编辑:鉴于下面的答案,powershell如何知道我试图使用哪个tsk?我该如何指定?

typescript angular

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

SQL - 插入不存在的位置

我有我认为是一个完全无关紧要的查询 - 如果不存在具有匹配ID的值,则将值插入表中:

BEGIN
   INSERT INTO [dbo].[Contact_Categories](Contact_Category_ID, Description)
   VALUES (1, 'Internal')
   WHERE NOT EXISTS( SELECT * FROM [dbo].[Contact_Categories] WHERE Contact_Category_ID = 1)
END
Run Code Online (Sandbox Code Playgroud)

我在where语句周围出错了.为什么?我如何实现目标?

在此输入图像描述

sql sql-server sql-server-2012

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

捕获22:如果依赖于脚本存在的元素,则加载脚本

我的目标是<head>只在某个元素存在的情况下加载javascript <body>.

但是,我遇到了一个问题:我正在加载一个Web组件,它只是在<script>其他地方托管,并被引入:

<script src="https://someurl.com/some-web-component.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

这个Web组件文件非常庞大,所以除非我们的内容管理系统(CMS)将其插入到正文中,否则我不想将其拉入.

我工作的限制是:

<head>页面之间共享,因此我需要条件逻辑

•我无法控制<body>CMS插入的内容,它可能包含<my-web-component>标记

•我需要脚本来加载Web组件,所以我不能使用jQuery的$(document).ready,至少我认为我不能 - 因为浏览器不知道元素存在而抛出错误

这个plunker部分显示我的问题,减去所有Web组件的复杂性:

https://plnkr.co/edit/GGif2RNHX1iLAvSk1nUw?utm_source=next&utm_medium=banner&utm_campaign=next&p=preview

有什么方法吗?

html javascript

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

Angular需要RxJS吗?

足够简单 - 如果我没有使用任何observables或http调用,核心Angular是否需要RxJS?

在将来,我如何检查自己Angular是否真的需要X才能使用Hello World应用程序?

rxjs angular

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

Angular Universal仍然是SPA吗?

我已经阅读了几篇文章,其中一些是Angular Universal官方页面此处的介绍等。

我不完全了解-Angular Universal服务器是否仍提供单个页面(大量的html),还是有一种方法可以配置Angular Universal以基于以下方式返回多个页面(一次应用程序的一部分)路线(请求/路线)?

最终目标是在不存在路由的情况下返回硬404(但是,就上下文而言,这超出了此问题的范围)。

对我来说令人困惑的部分是:

这是因为与服务器端渲染的HTML一起,我们还将向浏览器提供普通的客户端Angular应用程序。

然后,此Angular客户端应用程序将接管页面,从那里开始,所有内容都像正常的单页面应用程序一样工作,这意味着所有运行时渲染将像往常一样直接在客户端上进行。

那么,究竟是the server-side rendered HTML什么?它是预先渲染的WHOLE应用程序,还是某种程度上针对用户要求的“路线” /视图/内容?

angular-universal angular

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

更改DateTimeOffset.Offset属性?

我的最终目标是从客户端获得没有偏移的通用时间 - 只是UTC时间.我试着这样做:

Javascript : (new Date()).toUTCString(),输出日志:Thu, 17 Mar 2016 15:13:23 GMT,这正是我需要的.

然后我把它带到服务器并尝试将其转换为DateTimeOffset:

string dateTimeOffsetPattern = "ddd, dd MMM yyyy HH:mm:ss 'GMT'"; 

DateTimeOffset clientLoginTime = DateTimeOffset.ParseExact
    (timeStringFromClient, dateTimeOffsetPattern, CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

结果如下:

3/17/2016 3:13:23 PM -04:00 
Run Code Online (Sandbox Code Playgroud)

它以某种方式调整了我本地(东方)偏移的时间.我不希望这种情况发生,我希望它只返回UTC时间,如下所示:

3/17/2016 3:13:23 PM +00:00
Run Code Online (Sandbox Code Playgroud)

PS我刚刚问了一个关于这个的问题,我道歉,因为我觉得它应该很容易,但我不明白.这应该非常简单,但看起来offset没有setter(除非我像往常一样完全缺少一些C#基础知识):

public TimeSpan Offset { get; }
Run Code Online (Sandbox Code Playgroud)

c# datetimeoffset

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

获取单个项目或列表的 C# 方法

我有一个方法,它现在需要一个 id。我需要添加一个接受 id 列表的方法。我的选择是让其中一种方法调用另一种方法,如下所示:

void NotifyUsers(List<int> userIds) {//do things}

void NotifyUser(int userId)
{
  NotifyUsers(new List<int>{userId})
}
Run Code Online (Sandbox Code Playgroud)

或者我可以将调用更改为NotifyUsers(new List<int>{9999}.

或者我可以使用泛型等。

这里的“最佳实践”是什么?

我知道这有点基于意见的问题,但似乎应该有一个标准,我找不到它。

c#

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