我正在寻找一种从数组中删除重复值的简单方法.我想出了如何检测是否有重复,只是我不知道如何从值中"推"它.例如,如果您转到提供的链接,然后键入"abca" (在每个字母后按回车键/输入键) ..它将提醒"重复!"
但我还想弄清楚如何从textarea中删除该副本?
这是似乎无法正常工作的部分::
sort = sort.push(i);
textVal = sort;
return textVal;
Run Code Online (Sandbox Code Playgroud) 我需要用React获取图像的尺寸.我找到了一个名为react-measure的库来计算React组件的测量值.它可以工作,但是当图像加载时我无法触发它.当图像加载时我需要触发它才能获得准确的尺寸,而不是0 x 157或类似的东西.
我尝试使用onLoad
图像事件来检测图像何时加载,但我没有得到满意的结果.基本上我所做的是当图像加载(handleImageLoaded()
已被调用)时,将hasLoaded
状态属性更改为true
.我知道一个事实hasLoaded
已被改变,true
因为它是这样说的:Image Loaded: true
.
我注意到的是我只能计算已缓存图像的尺寸...
这是一个演示视频:cl.ly/250M2g3X1k21
有没有更好,更简洁的方法使用React正确检索尺寸?
这是代码:
import React, {Component} from 'react';
import Measure from '../src/react-measure';
class AtomicImage extends Component {
constructor() {
super();
this.state = {
hasLoaded: false,
dimensions: {}
};
this.onMeasure = this.onMeasure.bind(this);
this.handleImageLoaded = this.handleImageLoaded.bind(this);
}
onMeasure(dimensions) {
this.setState({dimensions});
}
handleImageLoaded() {
this.setState({hasLoaded: true});
}
render() {
const {src} = this.props;
const {hasLoaded, dimensions} = this.state;
const …
Run Code Online (Sandbox Code Playgroud) 所以我刚刚从React框架下载了源代码,我在终端中收到了这个错误:
ERROR in ./src/components/TextEditor.js
Module build failed: SyntaxError: Unexpected token (24:8)
22 |
23 | // Set the initial state when the app is first constructed.
> 24 | state = {
| ^
25 | state: initialState
26 | }
27 |
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么人们会像这样设置React Component的状态?如果某些人的错误会有什么好处?另外,我可以使用Babel预设或插件来防止此错误吗?
这就是我通常设置组件状态的方式,从我看到的情况来看,这是常规的:
constructor() {
super();
this.state = {
state: initialState
};
}
Run Code Online (Sandbox Code Playgroud)
为了记录,这是整个文件:
// Import React!
import React from 'react'
import {Editor, Raw} from 'slate'
const initialState = Raw.deserialize({
nodes: [
{
kind: 'block',
type: 'paragraph', …
Run Code Online (Sandbox Code Playgroud) 我需要忽略>
我的正则表达式.
我的正则表达式:
/(>(.+)(?=<\/a>))/igm
Run Code Online (Sandbox Code Playgroud)
匹配以下内容:
我如何告诉它>
在开始时忽略它?
这是regexr.com上的正则表达式.
我需要获取用户提交的随机数的位置值.这个数字可以是0-1000000000000000 (零到一万亿).
我认为这可以通过使用JavaScript模%
运算符来实现.问题,我真的不知道如何使用它,也不了解它.
这是小提琴.
(我所知道的是10%3
返回1
因为3*3
= 9
和10-9
= 1
)
我想出了数十,数百和数千:
var ones = Math.floor(num % 10),
tens = Math.floor(num / 10 % 10),
hundreds = Math.floor(num / 100 % 10),
thousands = Math.floor(num % 10000 / 1000);
Run Code Online (Sandbox Code Playgroud)
我只需要:
- 我甚至不知道其余部分是否可行,但如果您有任何提示或至少找到一个,请告诉我!谢谢.
我注意到CDN //
在脚本源的开头使用.
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
这在本地(显然)不起作用,所以我http:
之前添加//
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
所以...为什么他们把它放在//
一开始而不是http://
?有什么意义?是某种DNS预取吗?
此外,//
如果脚本元素位于页面底部,那么无用吗?
https://developer.mozilla.org/en-US/docs/Web/HTTP/Controlling_DNS_prefetching
我正在使用正则表达式,我一直试图制作一个可以匹配任何5个字符X
和的组合O
,但是如果它重复X
或O
完全重复5次则忽略它.
这就是我想出的:
X{1,4}|O{1,4}
X|O{1,4}
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用非捕获组(?:)
,但效果不佳.
如何从字符串“John Smith”中获取“John”?
(我不想使用 .substring(); 因为它在联系表单上并且值可能会有所不同。)
基本上我需要在第一个空间之前得到所有东西。;)
<h1 id="name">John Smith</h1>
<script>
var str = document.getElementById("name");
var first = str.split(" ")[0];
alert(first);
</script>
Run Code Online (Sandbox Code Playgroud) 我正在研究EM到PX转换器.基本上你将代码粘贴到"PX"textarea中,然后相同的代码将出现在带有em值的"EM"textarea中.它有点工作,但不会取代所有实例的价值.例如:如果键入"padding:5px;" 它会给你"填充:0.313em;" 成功.但是......如果你输入"padding:5px 4px;" 它只将"px"替换为"em"而不是实际的数字值.
在这里尝试一下:: http://jsfiddle.net/tJsNz/
function pxToEm(){
var px = document.getElementById("px"),
em = document.getElementById("em"),
parent = document.getElementById("parent-font-size");
var pxVal = px.value.match(/\d+/ig);
var pxToEm = 1 / parent.value * pxVal;
var pxToEmFixed = pxToEm.toFixed(3);
var pxToEmAnswer = px.value.replace(pxVal, pxToEmFixed).replace(/px/ig, "em");
em.value = pxToEmAnswer;
}
Run Code Online (Sandbox Code Playgroud) 我需要<li>
用句点替换每个值中的逗号.
我不知道我的代码有什么问题.我检查了控制台,但没有...
$('#stats li').each(function () {
$(this).text().replace(/,/g, '.');
});
Run Code Online (Sandbox Code Playgroud)
此代码应针对每个<li>
在<ul id="stats">
.然后它应该替换每个,
中的每个<li>
并用a替换它.
我也试过这个:
$('#stats li').each(function () {
var comma = /,/g;
if(comma.test($this)) {
$(this).replace(comma, '.');
}
});
Run Code Online (Sandbox Code Playgroud)
我试过这个:
$('#stats li').each(function () {
var stats = [];
stats.push($(this).text());
stats.replace(/,/g, '.');
console.log(stats);
});
Run Code Online (Sandbox Code Playgroud)
这是小提琴.
我正在构建一个下拉菜单,我想在单击时从ul的父元素中选择任何一个lis.然后,取出该文本并更改所选菜单项文本的"工作查询"(#subject文本)文本.
我的评论解释了我对小提琴的困境.
这是jsFiddle :: http://jsfiddle.net/8m4Tj/
$("ul#subjects > li").on("click", function () {
$("#subjects").slideUp(210);
var liText = $(this).text();
var newSubjectText = $("#subject").text();
alert(liText); // this alerts selected item... how do you change #subject.text ???
alert(newSubjectText); // stays the same
});
Run Code Online (Sandbox Code Playgroud)
我不知道我是否选择了错误的项目,但我想要替换数据值和实际文本值.我正在使用这种方法,因为没有简单的方法来构造<select>
元素.
我创建了一个JavaScript循环,跳过每组两个数字,然后是一组三个.
考虑以下整数集:
1,2,3,4,5,6,7,8,9,10
这是数组返回的内容:
1,2,3,6,7,8
看看它如何跳过4-5和9-10?(每组两个数字后跟一组三个)
视觉:
1,2,3,4,5,6,7,8,9,10(跳过粗体数字)
这是我想出的:
var y = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
for (var i = 0; i < y.length; i++) {
if (y[i] >= 4 && y[i] <= 5) {
continue;
}
if (y[i] >= 9 && y[i] <= 10) {
continue;
}
document.write(y[i]);
}
Run Code Online (Sandbox Code Playgroud)
上述for循环返回123678
从12345678910
.问题是我必须手动说出哪些要跳过.有没有一种方法,可能与%
模量,自动跳过每个组两个数字,然后一组三个的不限制长度到十?