假设我有一个字符串数组,我需要来自它们的具体信息,这将是一种简单的方法吗?
假设数组是这样的:
let infoArr = [
"1 Ben Howard 12/16/1988 apple",
"2 James Smith 1/10/1999 orange",
"3 Andy Bloss 10/25/1956 apple",
"4 Carrie Walters 8/20/1975 peach",
"5 Doug Jones 11/10/1975 peach"
];
Run Code Online (Sandbox Code Playgroud)
假设我想提取日期并将其保存到另一个数组中,我可以创建这样的函数
function extractDates(arr)
{
let dateRegex = /(\d{1,2}\/){2}\d{4}/g, dates = "";
let dateArr = [];
for(let i = 0; i<arr.length; i++)
{
dates = /(\d{1,2}\/){2}\d{4}/g.exec(arr[i])
dates.pop();
dateArr.push(dates);
}
return dateArr.flat();
}
Run Code Online (Sandbox Code Playgroud)
虽然这很有效,但它很笨重并且需要,pop()因为它将返回一个数组数组,即:["12/16/1988", "16/"],而且我需要flat()事后调用.
另一种选择是使用给定位置对字符串进行子串,我需要知道正则表达式.
function extractDates2(arr)
{
let dates = [];
for(let …Run Code Online (Sandbox Code Playgroud) var el = document.getElementById('action');
el.addEventListener('click', function()
{
var t = document.getElementById('text');
t.value = 'A should be typed later';
t.focus();
t.setSelectionRange(0, 0);
setTimeout(function()
{
t.dispatchEvent(new Event('keypress', {keyCode: 65}))
}, 800);
}, false);Run Code Online (Sandbox Code Playgroud)
<textarea id="text"></textarea>
<button id="action">
Do It
</button>Run Code Online (Sandbox Code Playgroud)
我想念的a是什么,没有添加到开头textarea?
目的是真正模拟键盘上按键的实际按键,而不是(重新)设置文本区域value.
更新:这不是这个问题的重复.
(i)大部分答案都有用jQuery.
(ii)我无法从上述案例的答案中找到一个有效的例子.
(iii)实际上,上述代码来自该页面.
无论如何,这是否重复.您可以将问题读作:为什么以上简单的代码不起作用?
我想一次又一次地使用数组中的项替换段落的内容.当我console.log()用来检查结果时,输出正常.但它没有像预期的那样替换段落上的内容,只是在迭代完成时显示最后一个单词.
这是我创建和迭代数组的代码:
$(document).ready(function()
{
var _strng = "Lorem ipsum dolor sit amet";
var _array = new Array();
_array = _strng.split(' ');
jQuery.each(_array, function(index,item)
{
console.log(item); // Works fine
$('p').html(item); // Only shows the last word when the iteration is over
wait(1000); // Custom function
console.clear();
});
});
Run Code Online (Sandbox Code Playgroud)
在等待()函数:
function wait(_timeframe)
{
var final = 0;
var timeframe = new Date(_timeframe);
var initial = Date.now();
final = initial + _timeframe;
while (Date.now() < final) { };
} …Run Code Online (Sandbox Code Playgroud) 我没有看到card-block参考文档中提到的类,但我在一些示例中看到了这个类。这是官方参考:
https://getbootstrap.com/docs/4.0/components/card/
这是使用该类的示例:
https://www.codeply.com/go/pVsGQZVVtG/bootstrap-4-no-gutters-(间距)
我见过用过的卡片,但这个card-block课程是什么?
例子:
<div class="row">
<div class="col-3">
<div class="card">
<div class="card-block">
normal
</div>
</div>
</div>
<div class="col-4">
<div class="card">
<div class="card-block">
normal
</div>
</div>
</div>
<div class="col">
<div class="card">
<div class="card-block">
normal
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 如何在字符串中的数字后面找到并配对字母以减少一个表达式?
让我们假设我们有一个字符串string = "20hc+2a+2hc+9op+330o+10op",我们希望在数字后面找到相同字母的对.首先我们应该做split.('+'),然后我们得到一个数组[....],然后我们需要在数字之后配对每个字母,得到如下所示:
(20hc + 2hc) (2a) (9op+10op) (330o)
最后,我们需要对匹配对的数字求和:
20+2 = 22hc
2 = 2a
9+10 = 19op
330 = 330o
Run Code Online (Sandbox Code Playgroud)
要获得最终结果:
22hc+2a+19op+330o
Run Code Online (Sandbox Code Playgroud)
那么,我怎样才能解决这个问题,只要字母数字相同后它们没有排序就没关系,在这种情况下,我们可以使用正则表达式match吗?还是indexOf?
我需要编写一个将数组中的数组元素转换为对象的函数。尽管我已经找到了一种使用来解决问题的方法for-loop,但我只是想知道是否存在使用forEach或方法来编写解决方案的更简洁的方法map。
问题是...
var array: [
[
['firstName', 'Joe'],
['lastName', 'Blow'],
['age', 42],
['role', 'clerk']
],
[
['firstName', 'Mary'],
['lastName', 'Jenkins'],
['age', 36],
['role', 'manager']
]
];
Run Code Online (Sandbox Code Playgroud)
我需要将上面的数组转换成这样。
[
{ firstName: 'Joe', lastName: 'Blow', age: 42, role: 'clerk' },
{ firstName: 'Mary', lastName: 'Jenkins', age: 36, role: 'manager' }
];
Run Code Online (Sandbox Code Playgroud)
以下是我使用提出的代码for-loop。
function transformEmployeeData(array)
{
var output = [];
for (var i = 0; i < array.length; i++)
{
var obj = {}; …Run Code Online (Sandbox Code Playgroud) 我99%肯定我在这里遗漏了非常明显的东西。在下一个示例中,单击按钮应使带有.progress类的div 可见。但是,它不起作用。
function func() {
$('.progress').show();
}Run Code Online (Sandbox Code Playgroud)
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<div class="progress d-none">
No longer hidden!
</div>
<button onclick="func()">
click me
</button>Run Code Online (Sandbox Code Playgroud)
我有一个Bootstrap带有切换按钮的导航栏。当导航栏处于折叠模式或页面加载时,如何默认打开它?我试过将data-toggle="collapse"属性设置为data-toggle="collapse.show",现在它默认显示,但需要单击两次才能关闭。如何在默认情况下打开它并按预期工作?
导航栏代码是这样的:
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
/* content */
</div>
</nav>
Run Code Online (Sandbox Code Playgroud) 我正在使用 Bootstrap 的选项卡组件,但无法将蓝色登录按钮刷新到nav-tabs. 我尝试了各种方法,但显然我不明白为什么它不会定位在我想要的位置。
这是我正在尝试做的事情的图像:
HTML:
<section class="container">
<ul class="nav nav-tabs pt-5">
<li class="nav-item"><a class="nav-link active" href="#">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#">Data</a></li>
<li class="nav-item">
<button type="button" class="btn btn-primary ml-2">Log In</button>
</li>
</ul>
</section>
Run Code Online (Sandbox Code Playgroud)
JSFIDDLE: https ://jsfiddle.net/auov8ety/
假设我们有一个像下一个这样的数字数组:
const input = [2, 2, 0, 2, 3, 3, 0, 0, 1, 1];
Run Code Online (Sandbox Code Playgroud)
目标是删除重复值,但前提是它们相邻。因此,前一个样本的预期输出应该是:
[2, 0, 2, 3, 0, 1]
Run Code Online (Sandbox Code Playgroud)
到目前为止,我设法使用递归方法几乎解决了这个问题,但由于某种我无法想象的原因,生成的结果没有返回(但是,您可以在返回条件之前的日志中看到它)。
const input = [2, 2, 0, 2, 3, 3, 0, 0, 1, 1];
Run Code Online (Sandbox Code Playgroud)
[2, 0, 2, 3, 0, 1]
Run Code Online (Sandbox Code Playgroud)
所以,首先也是主要的是,我想了解我的方法发生了什么,其次我对可以解决这个问题的任何其他方法(任何类型)持开放态度。
以防万一有人感兴趣,我终于以这种方式使用递归解决了这个问题。我知道过滤器解决方案简短而优雅,但我正在通过递归训练解决方案。
const input = [2, 2, 0, 2, 3, 3, 0, 0, 1, 1];
const remAdjDups = (arr, output = []) =>
{
if (!arr.length)
{
console.log("Result before return: ", output);
return output; …Run Code Online (Sandbox Code Playgroud)