我正在尝试用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标签替换字符串的部分?
我的情况
说我有成千上万的对象,在这个例子中可能是电影.
我以很多不同的方式解析这些电影,收集有关每个电影的参数,关键字和统计数据.我们称他们为钥匙.我还为每个键分配一个权重,范围从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) 我已经为我的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?
为什么这会执行<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仅包含字母数字字符,则有时会忽略属性值周围的引号.
我想在我正在制作的游戏的背景上放置一些光源,这对于一个光源非常有效,如下所示:

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

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

我已经考虑为每个帧逐个像素地绘制类似的"阴影层",并根据到每个光源的距离计算透明度.但是,这可能会非常缓慢,我相信这个问题有更好的解决方案.
图像只是示例,每个帧将有更多的内容可以使用requestAnimationFrame移动和更新.
是否有轻量级和简单的方法来实现这一目标?提前致谢!
编辑
在ViliusL的帮助下,我想出了这个屏蔽解决方案:
// 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) 我在C#中循环了很多像这样的字符串:
"看起来,对遥控器有好处是一回事,对生活有好处,那就是别的东西."
在这些字符串中,我有一个选定的单词,由前一个函数的索引确定,就像上面例子中的第二个"好"一样.
" 对于遥控器来说,好看(< - 不是这一个)对于生活来说是好事(< - 这一个),那是另一回事."
我想找到我所选单词周围的单词.在上面的情况下,事情和反对.
"看起来,对遥控器有好处是一回事,对生活有好处,那就是别的东西."
我已尝试将字符串.split()与正则表达式的不同方法分开,但我找不到实现此目的的好方法.我有机会获得这个词,好它位于哪里的字符串在上面的例子中,索引(41以上).
巨额奖金是否会忽略标点符号和逗号,这样在上面的例子中,我的理论函数将返回只针对因为之间有一个逗号的事情和好.
有没有一种简单的方法来实现这一目标?任何帮助赞赏.
我在运行一个类的多个实例时遇到一些问题,同时使用 ES6 模块来获得更清晰的项目结构。
我将在下面尝试解释我的问题。我的真实项目更大、更复杂,但我以此为例。
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) 我是使用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”,我当然可以在广告系列组件中呈现编辑器,但是有没有办法使用路由器呢?
今天正在与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,主要用于验证表单和查询字符串.
我经常使用画布 2D 上下文,最近也开始学习一些 WebGL。
当我在编写关于如何context.drawImage()在 WebGL 中从 2D 上下文实现的教程时,我想到了标题中的问题。结果是类似context.drawImage()(至少非常接近),但速度要快得多,因为它使用了 WebGL。
理论上,我相信画布 2D 上下文中的所有内容都可以在 WebGL 中进行模拟,从而带来巨大的性能提升。那为什么不是呢?
我绝对不是在谈论改变任何语法或任何东西。我真的很喜欢 2D 上下文的简单性。但是为什么浏览器不做那个教程在幕后做的事情呢?
我知道 WebGL 并没有在所有地方都得到全面支持,但我仍然认为如果可能的话,它可以使用,并以常规 2D 上下文作为后备。
我以编程方式创建我的视图。如果我不放置loadView方法,则该应用程序运行良好。但是,当我添加这样的loadView方法时:
- (void)loadView
{
NSLog(@"loadView is called");
}
Run Code Online (Sandbox Code Playgroud)
我发现这种方法被调用了很多次!最后,该应用程序崩溃了。
我想知道为什么loadView方法要调用这么多次。
有人可以帮忙吗?非常感谢!
我有这样的数组
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 ×4
c# ×2
canvas ×2
jquery ×2
reactjs ×2
algorithm ×1
bigdata ×1
data-mining ×1
ecmascript-6 ×1
effects ×1
innerhtml ×1
ios ×1
isnumeric ×1
lambda ×1
module ×1
node.js ×1
performance ×1
react-jsx ×1
react-router ×1
regex ×1
sql ×1
string ×1
vb.net ×1
webgl ×1