小编Cer*_*nce的帖子

什么时候可以迭代一个空数组?

使用Array(n)在javascript中定义数组定义了一个空数组,如果我错了,请纠正我.现在,如果我写下面的代码:

Array(2).map((val) => console.log(val))
Run Code Online (Sandbox Code Playgroud)

没有任何反应,但是当我将数组的元素分散到另一个数组中时,就像这样:

[...Array(2)].map((val) => console.log(val))
Run Code Online (Sandbox Code Playgroud)

..我得到未定义的控制台日志.谁能帮助我了解这里发生了什么?

javascript arrays

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

使用regex验证jquery选择器语法

我试图在javascript中编写一个正则表达式来验证字符串是否是一个有效的jquery选择器.这是严格的教育,而不是我的任何项目的特殊要求

图案

/^(\$|Jquery)\(('|")[\.|#]?[a-zA-Z][a-zA-Z0-9!]*('|")\)$/gi

它适用于以下测试

$("#id")//true

$('.class')//true

jquery('.class')//true

jquery('div')//true

我的问题是测试$('#id")也返回true,即在js中使用混合单引号和双引号无效.如何限制这一点.我们可以有条件正则表达式吗?

const pattern = /^(\$|Jquery)\(('|")[\.|#]?[a-zA-Z][a-zA-Z0-9!]*('|")\)$/gi;

[
`$("#id")`, //true
`$('.class')`, //true
`jquery('.class')`, //true
`jquery('div')`, //true
].forEach(str => console.log(pattern.test(str)));
Run Code Online (Sandbox Code Playgroud)

javascript regex

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

我需要帮助尝试获得多维数组的总和

var nestedArr3 = [[[1,2],[3,4]],[[5,6]]];

function sumTotal() {
  var sum = 0;
  for (var i = 0; i < nestedArr3.length; i++) {
    for (var j = 0; j < nestedArr3[i].length; j++) {
      if (typeof nestedArr3[i][j] === "number") {
        sum += nestedArr3[i][j];
      } else if (Array.isArray(nestedArr3[i][j] === true)) {
        sumTotal(nestedArr3[i][j]);
      }
    }
  }
  return console.log(sum);
}

console.log(sumTotal());
Run Code Online (Sandbox Code Playgroud)

我得到0的结果.我无法弄清楚如何修复此代码.任何帮助,将不胜感激.

javascript sum

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

如何舍入对象内部的数字

如何在对象内部舍入数字,如下所示:

{1: {x:10.76, y:50.44}, 2:{x:5.887, y:23.433}, ...}
Run Code Online (Sandbox Code Playgroud)

我尝试使用地图这样做,但我猜地图只适用于数组

obj.map(function(each_element){
    return Number(each_element.toFixed(0.1));
});
Run Code Online (Sandbox Code Playgroud)

javascript object rounding

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

在这段代码中,为什么两段都是蓝色的?

.red p {
  color: red;
}

.blue p {
  color: blue;
}
Run Code Online (Sandbox Code Playgroud)
<div class="blue">
  <p> first </p>
  <div class="red">
    <p> second </p>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我假设第一个是蓝色,第二个是红色,但事实并非如此.为什么这两段都是蓝色的?

html css

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

为什么在Javascript中的假值之后执行三元表达式?

据我所知,在Javascript中伪造的值之后不会执行表达式。例如下面的语句:

const result = undefined && 5;
console.log(result);
Run Code Online (Sandbox Code Playgroud)

result 将是不确定的。

然而:

const result = false && false ? 'T' : 'F';
console.log(result);
Run Code Online (Sandbox Code Playgroud)

result将等于F。为什么仍然执行三元表达式?

javascript boolean-logic ternary-operator

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

从javascript数组中提取具有唯一字符的字符串

我只想提取那些具有唯一字符的字符串,我有一个字符串数组:

var arr = ["abb", "abc", "abcdb", "aea", "bbb", "ego"];
Output: ["abc", "ego"]
Run Code Online (Sandbox Code Playgroud)

我尝试使用 Array.forEach() 方法来实现它:

var arr = ["abb", "abc", "abcdb", "aea", "bbb", "ego"];
Output: ["abc", "ego"]
Run Code Online (Sandbox Code Playgroud)

想知道有没有其他方法可以实现这个任务?

任何建议。

javascript arrays foreach

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

未捕获的 DOMException:无法在“文档”上执行“querySelector”:“”不是有效的选择器

我有一个包含两项的清单。第二个项目的 ID 由 生成并getTime()与 串联new$,形成一个随机 ID,如下图所示。

在此输入图像描述

我需要定位该元素来执行某些功能,但是当我尝试使用 执行此操作时querySelector,它会产生一个错误,指出它不是有效的选择器,即使我使用它将String()生成的随机数转换为字符串也是如此。

在此输入图像描述

我在这里缺少什么?

javascript reactjs

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

为什么 Javascript 中的新“matchAll”返回一个迭代器(相对于数组)?

ES2020 包含一个新String.prototype.matchAll方法,它返回一个迭代器。我确定我错过了一些愚蠢/明显的东西,但我不明白为什么它不只是返回一个数组。

有人可以解释一下那里的逻辑吗?

编辑:只是为了澄清评论中的一些内容,我假设迭代器并没有简单地替换数组,因为所有 JS API 的新方式都会返回多个值。如果我错过了那个备忘录,并且所有新的 JS 函数都返回迭代器,那么指向所述备忘录的链接将 100% 成为有效答案。

但同样,我怀疑没有进行这样的全面更改,并且 Javascript 的制造商为这个特定的方法做出了一个特定的选择,让它返回一个迭代器......而这个选择的逻辑就是我'我试图理解。

javascript regex ecmascript-2020

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

这个参数化查询是否对 SQL 注入开放?

有人查看了我的代码,说下面的 SQL 查询 (SELECT * FROM...) 显然容易受到攻击。我已经对此进行了研究,看来我通过使用参数化查询正确地做到了这一点,但显然我遗漏了一些东西。

app.get("/api/v1/:userId", async (req, res) => {
    try {
        const teammate = await db.query("SELECT * FROM teammates WHERE uid = $1", [
            req.params.userId,
        ]);
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-injection node.js

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