小编Mag*_*dal的帖子

在JSX中用标记替换部分字符串

我正在尝试用JSX标签替换字符串的一部分,如下所示:

render: function() {
    result = this.props.text.replace(":",<div className="spacer"></div>);
    return (
         <div>        
             {result}
         <div>        
    );
}
Run Code Online (Sandbox Code Playgroud)

但考虑到this.props.text就是Lorem : ipsum,它导致

<div>
    Lorem [object Object] ipsum.
</div>
Run Code Online (Sandbox Code Playgroud)

有没有办法解决这个或其他方式用JSX标签替换字符串的部分?

reactjs react-jsx

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

创建可比较且灵活的对象指纹

我的情况

说我有成千上万的对象,在这个例子中可能是电影.

我以很多不同的方式解析这些电影,收集有关每个电影的参数,关键字和统计数据.我们称他们为钥匙.我还为每个键分配一个权重,范围从0到1,具体取决于频率,相关性,强度,分数等.

作为一个例子,这里是电影世界末日的几个键和权重:

"Armageddon"
------------------
disaster       0.8
bruce willis   1.0
metascore      0.2
imdb score     0.4
asteroid       1.0
action         0.8
adventure      0.9
...            ...
Run Code Online (Sandbox Code Playgroud)

可能有成千上万的这些键和重量,为清楚起见,这是另一部电影:

"The Fast and the Furious"
------------------
disaster       0.1
bruce willis   0.0
metascore      0.5
imdb score     0.6
asteroid       0.0
action         0.9
adventure      0.6
...            ...
Run Code Online (Sandbox Code Playgroud)

我把它称为电影的指纹,我想用它们在我的数据库中查找类似的电影.

我还想象如果我愿意,可以插入除电影之外的其他内容,如文章或Facebook个人资料,并为其指定指纹.但那不应该影响我的问题.

我的问题

所以我已经走到了这一步,但现在我觉得这部分很棘手.我想把上面的指纹变成容易比较和快速的东西.我尝试创建一个数组,其中index 0= disaster,1= bruce willis,2= metascore,它们的值是权重.

我上面的两部电影就是这样的:

[ 0.8 , 1.0 , 0.2 , ... ] …
Run Code Online (Sandbox Code Playgroud)

c# sql algorithm data-mining bigdata

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

如何将API网关授权程序上下文传递给HTTP集成

我已经为我的AWS API网关成功实现了Lambda授权程序,但我想将一些自定义属性从它传递到我的Node.js端点.

我的授权人输出遵循AWS指定的格式,如下所示.

{
  "principalId": "yyyyyyyy",
  "policyDocument": {
    "Version": "2012-10-17",
    "Statement": [
      {
        "Action": "execute-api:Invoke",
        "Effect": "Allow|Deny",
        "Resource": "arn:aws:execute-api:<regionId>:<accountId>:<appId>/<stage>/<httpVerb>/[<resource>/<httpVerb>/[...]]"
      }
    ]
  },
  "context": {
    "company_id": "123",
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

在我的例子中,context包含一些参数,比如company_id,我想传递给我的Node端点.

如果我要使用Lambda端点,我知道这是通过Mapping Template完成的,如下所示:

{
  "company_id": "$context.authorizer.company_id"
}
Run Code Online (Sandbox Code Playgroud)

但是,如果选择Lambda作为Integration类型,则Body Mapping Template仅在Integration Request下可用.如果选择了HTTP则不行.

简而言之,我如何company_id从我的Lambda授权程序传递到我的Node API?

lambda amazon-web-services node.js aws-api-gateway

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

为什么html()执行JavaScript,但innerHTML不执行?

为什么这会执行<script>:

$('#jq_script').html("<script>$('#test').text('test');<\/script>");
Run Code Online (Sandbox Code Playgroud)

但这不是吗?

document.getElementById('js_script').innerHTML = "<script>$('#test').text('test');<\/script>";
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到它

来自jQuery的关于.html()的文档:

此方法使用浏览器的innerHTML属性.某些浏览器可能不会返回完全复制原始文档中HTML源的HTML.例如,如果Internet Explorer仅包含字母数字字符,则有时会忽略属性值周围的引号.

javascript jquery innerhtml

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

画布上有多个光源

我想在我正在制作的游戏的背景上放置一些光源,这对于一个光源非常有效,如下所示:

在此输入图像描述

这是通过将.png图像放置在对中心更加透明的其他所有内容上来实现的,如下所示:

在此输入图像描述

适用于一个光源,但我需要另一种方法,我可以添加更多光源并移动光源.

在此输入图像描述

我已经考虑为每个帧逐个像素地绘制类似的"阴影层",并根据到每个光源的距离计算透明度.但是,这可能会非常缓慢,我相信这个问题有更好的解决方案.

图像只是示例,每个帧将有更多的内容可以使用requestAnimationFrame移动和更新.

是否有轻量级和简单的方法来实现这一目标?提前致谢!

编辑

在ViliusL的帮助下,我想出了这个屏蔽解决方案:

http://jsfiddle.net/CuC5w/1/

// Create canvas
var canvas = document.createElement('canvas');
var ctx = canvas.getContext('2d');
canvas.width = 300;
canvas.height = 300;
document.body.appendChild(canvas);

// Draw background
var img=document.getElementById("cat");
ctx.drawImage(img,0,0);

// Create shadow canvas
var shadowCanvas = document.createElement('canvas');
var shadowCtx = shadowCanvas.getContext('2d');
shadowCanvas.width = canvas.width;
shadowCanvas.height = canvas.height;
document.body.appendChild(shadowCanvas);

// Make it black
shadowCtx.fillStyle= '#000';
shadowCtx.fillRect(0,0,canvas.width,canvas.height);

// Turn canvas into mask
shadowCtx.globalCompositeOperation = "destination-out";

// RadialGradient as light source #1
gradient = shadowCtx.createRadialGradient(80, 150, 0, 80, 150, …
Run Code Online (Sandbox Code Playgroud)

javascript canvas effects

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

选择字符串中的上一个和下一个单词

我在C#中循环了很多像这样的字符串:

"看起来,对遥控器有好处是一回事,对生活有好处,那就是别的东西."

在这些字符串中,我有一个选定的单词,由前一个函数的索引确定,就像上面例子中的第二个"好"一样.

" 对于遥控器来说,好看(< - 不是这一个)对于生活来说是好事(< - 这一个),那是另一回事."

我想找到我所选单词周围的单词.在上面的情况下,事情反对.

"看起来,对遥控器有好处是一回事,生活有好处,那就是别的东西."

我已尝试将字符串.split()与正则表达式的不同方法分开,但我找不到实现此目的的好方法.我有机会获得这个词,它位于哪里的字符串在上面的例子中,索引(41以上).

巨额奖金是否会忽略标点符号和逗号,这样在上面的例子中,我的理论函数将返回只针对因为之间有一个逗号的事情.

有没有一种简单的方法来实现这一目标?任何帮助赞赏.

c# regex string

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

具有共享模块的类的多个实例

我在运行一个类的多个实例时遇到一些问题,同时使用 ES6 模块来获得更清晰的项目结构。

我将在下面尝试解释我的问题。我的真实项目更大、更复杂,但我以此为例。

版本1

main.js

import App from './app';

let instance1 = new App,
    instance2 = new App;
Run Code Online (Sandbox Code Playgroud)

应用程序.js

import Layer from './layer'
import Element from './element'

class App {
  constructor() {
    this.layer = new Layer;
    this.element = new Element;
  }
  addLayer() {
    this.layer.addLayer();  
  }
  addElement() {
    this.element.addElement();
  }
}

module.exports = App;
Run Code Online (Sandbox Code Playgroud)

层.js

class Layer {
  constructor() {
    this.layers = [];
  }
  addLayer(name) {
    this.layers.push({
        name: name
    });
  }
}

module.exports = Layer;
Run Code Online (Sandbox Code Playgroud)

元素.js

class Element {
  constructor() …
Run Code Online (Sandbox Code Playgroud)

javascript module ecmascript-6

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

如果找到精确匹配,则覆盖动态路由

我是使用React Router v4的新手,目前正在以下场景中挣扎

<Route exact path="/campaign/new" component={CampaignEditor}/>
<Route exact path="/campaign/:id" component={Campaign}/>
Run Code Online (Sandbox Code Playgroud)

我想要精确匹配/campaign/new进行渲染CampaignEditor。在其他所有情况下,我都希望Campaign使用动态ID作为参数进行渲染。

如果参数等于“ new”,我当然可以在广告系列组件中呈现编辑器,但是有没有办法使用路由器呢?

reactjs react-router react-router-v4

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

什么在.NET中使用IsNumeric()这么长时间?

今天正在与IsNumeric进行一些基准测试,并将其与以下功能进行比较:

Private Function IsNumeric(ByVal str As String) As Boolean
    If String.IsNullOrEmpty(Str) Then Return False
    Dim c As Char

    For i As Integer = 0 To Str.Length - 1
        c = Str(i)
        If Not Char.IsNumber(c) Then Return False
    Next

    Return True
End Function
Run Code Online (Sandbox Code Playgroud)

我对结果非常惊讶.使用数值时,这个数字比常规IsNumeric()快8到10倍,而使用空数字或非数字值则快1000-1500倍.

什么是IsNumeric这么久?在用上面的功能替换之前,我应该考虑一些其他问题吗?我在我的网站上的大约50个不同的地方使用IsNumeric,主要用于验证表单和查询字符串.

vb.net performance isnumeric

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

为什么画布 2D 上下文在幕后不使用 WebGL?

我经常使用画布 2D 上下文,最近也开始学习一些 WebGL。

当我在编写关于如何context.drawImage()在 WebGL 中从 2D 上下文实现的教程时,我想到了标题中的问题。结果是类似context.drawImage()(至少非常接近),但速度要快得多,因为它使用了 WebGL。

理论上,我相信画布 2D 上下文中的所有内容都可以在 WebGL 中进行模拟,从而带来巨大的性能提升。那为什么不是呢?

我绝对不是在谈论改变任何语法或任何东西。我真的很喜欢 2D 上下文的简单性。但是为什么浏览器不做那个教程在幕后做的事情呢?

我知道 WebGL 并没有在所有地方都得到全面支持,但我仍然认为如果可能的话,它可以使用,并以常规 2D 上下文作为后备。

canvas webgl

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

loadview方法被多次调用

我以编程方式创建我的视图。如果我不放置loadView方法,则该应用程序运行良好。但是,当我添加这样的loadView方法时:

- (void)loadView
{
    NSLog(@"loadView is called");
}
Run Code Online (Sandbox Code Playgroud)

我发现这种方法被调用了很多次!最后,该应用程序崩溃了。

我想知道为什么loadView方法要调用这么多次。

有人可以帮忙吗?非常感谢!

ios

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

如何在jQuery中读取数组的每个元素?

我有这样的数组

var ids = [
  liRightSkills, liRightAchievements, liRightGetRatings, liRightSpecialization, liRightOrgChart, liRightMemberships
];
Run Code Online (Sandbox Code Playgroud)

如何使用jQuery读取每个元素?

我试过这个,但它没有用

jQuery.each(ids, function() {
  $('#' + $(this).val()).show();
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

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