小编Beh*_*oth的帖子

为什么 VSCode 无法识别 JavaScript 展开运算符并自动完成?

我最近一直在为 Visual Studio Code 的一个非常烦人的行为而苦苦挣扎。

每当我尝试使用 JavaScript扩展语法时, VSCode 会自动自动完成下一段代码(错误地)。注意我没有打TAB。这是我正在谈论的内容的演示:

烦人的自动完成行为演示

有没有办法禁用它?这真的让我发疯......我正在使用Visual Studio Code 1.59.0(这应该是创作这个问题时的最新版本)。

javascript intellisense autocomplete spread-syntax visual-studio-code

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

为什么我会收到 ReferenceError: AbortController is not defined in Discord.js v13?

今天(7.8.2021)Discord.js v13已经发布。所以我升级了我以前的Discord.js安装

npm i discord.js@latest

然后将我的基本index.js文件调整为这种状态(我遵循了Discord.js 指南):

const { Client, Intents } = require("discord.js");

const client = new Client({
  intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES],
});

client.once("ready", () => {
  console.log("Ready!");
});

client.login("my-token");
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试运行我的代码时,我不断收到此错误:

$节点。

(node:11216) UnhandledPromiseRejectionWarning: ReferenceError: AbortController 未定义

在 RequestHandler.execute (C:\ pathTo \ node_modules \discord.js\src\rest\RequestHandler.js:172:15)

我已经使用Discord.js超过 2 年了,因此我很惊讶我在新版本中遇到了问题。这是Discord.js v13库的问题吗?如果不是,我该如何修复错误?

javascript node.js discord.js

8
推荐指数
2
解决办法
8642
查看次数

如何获取数组中的下几个元素,但在传递最后一个元素时跳回到开头?

想象一下,我有以下简单的数组:

const myArr = ["el1", "el2", "el3", "el4", "el5", "el6", "el7"];
Run Code Online (Sandbox Code Playgroud)

现在我想在“el5”(索引 4)之后获取下一个例如 3 个元素。如您所见,数组中只剩下 2 个元素。当点击数组中的最后一个索引时,我想回到起点并在那里继续。

这应该是预期输出时开始为“EL5”(索引4): ["el6", "el7", "el1"]

这就是我迄今为止所尝试的。

const myArr = ["el1", "el2", "el3", "el4", "el5", "el6", "el7"];
let output = [];

const followingElementsCount = 3;
let startIndex = myArr.findIndex(el => el === "el5") + 1;
let overflow = 0;
for (let i = 0; i < followingElementsCount; i++) {
  if (startIndex + i >= myArr.length) {
    startIndex = 0;
    overflow++;
  }

  output.push(myArr[startIndex + i …
Run Code Online (Sandbox Code Playgroud)

javascript arrays loops

7
推荐指数
2
解决办法
181
查看次数

push() 方法在 JavaScript 中无法正常工作

我正在尝试编写一个非常简单的程序,该程序将一个数组划分为另一个定义大小的较小数组的数组,但是该push()方法不起作用。有人可以帮我吗?

function chunk(array, size) {
  var newArray = [];
  var tempArray = [];

  for (let i = 0; i < array.length / size; i++) {
    for (let j = size * i, k = 0; j < size * i + size; j++, k++)
      tempArray[k] = array[j];

    newArray.push(tempArray);
  }

  return newArray;
}

var data = [1, 2, 3, 4, 5, 6, 7, 8];

console.log(chunk(data, 2));
Run Code Online (Sandbox Code Playgroud)

理想的输出应该是[[1, 2],[3, 4], [5, 6], [7, 8]]。但是我得到了[[7,8],[7,8],[7,8],[7,8]]

javascript array-push

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

如何创建全局样式表以在 Nx React 项目中共享 scss 变量?

现在,我真的希望这不是太基于观点。但我只是想在这里提供一些建议,因为我不知道如何开始。

\n

我有一个基本的Nx工作区,其中包含 TypeScript React 前端和SCSS样式。\n该项目的架构如下所示:

\n
root/\n\xe2\x94\x9c\xe2\x94\x80 apps/\n\xe2\x94\x9c\xe2\x94\x80 libs/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 someLib1/\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 src/\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 lib/\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 someLib1.tsx\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 someLib1.scss\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 someLib2/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 someLib3/\n\xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 shared/\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 styles/\n\xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x82  \xe2\x94\x9c\xe2\x94\x80 global.scss\n
Run Code Online (Sandbox Code Playgroud)\n

有什么聪明的方法可以导入global.scss到任何可访问的(=相同文件夹级别或以下)组件中吗/libs?举个例子:
\n想象一下我已经$example: #fff;global.scss. someLib1.scss如果不通过绝对路径(@import/@use "../../../shared/styles/global.scss"或)导入它,我将如何使用它@import/@use "/libs/shared/styles/global.scss"

\n

architecture sass typescript reactjs nrwl-nx

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

Typescript 奇怪的类型交集“string &amp; {}”

在一些库中,我经常看到类似这样的 TS 语法:

type AriaRole = 'alert' | 'tree' | 'treegrid' | 'treeitem' | (string & {});
Run Code Online (Sandbox Code Playgroud)

是什么意思string & {}
它是与对象相交的字符串。
这有意义还是可能是黑客行为?

typescript

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

在 TypeScript 中,如何向接口中的对象类型添加属性?

我试图了解如何合并声明接口,但我希望向对象文字类型添加属性,而不是向接口本身添加字段。

我在库中定义了一个类型,如下所示:

interface DefaultSession {
    user?: {
      name?: string | null;
      email?: string | null;
      image?: string | null;
    };
    expires: ISODateString;
}
Run Code Online (Sandbox Code Playgroud)

我知道,如果我想在不更改名称的情况下向该界面添加一个字段,我可以简单地重新打开并声明:

interface DefaultSession {
    role?: string
}
Run Code Online (Sandbox Code Playgroud)

我一直在研究 Typescript 手册,但我找不到一种方法将声明角色合并为用户下的属性以产生如下类型:

interface DefaultSession {
    user?: {
        name?: string | null;
        email?: string | null;
        image?: string | null;
        role?: string | null;
    };
    expires: ISODateString;
}
Run Code Online (Sandbox Code Playgroud)

javascript object typescript

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

如何按继承类的 DateTime 属性对列表进行排序?

考虑以下情况。我有一个基类Measurement和几个继承自的派生类(例如AdditionalMeasurementSpecialMeasurementMeasurement

class Measurement {
   public DateTime TimeStamp { get; set; }
}

class AdditionalMeasurement : Measurement {
   public DateTime PurchaseDate { get; set; }
}

class SpecialMeasurement: Measurement {
   public DateTime PrescriptionDate { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

如何按默认值List<Measurement>降序排序Measurement.TimeStamp(=对于所有其他派生类),但如果列表中的项目的类型为AdditionalMeasurementbyPurchaseDate且项目的类型为SpecialMeasurementby PrescriptionDate

显然,我下面的尝试不起作用,但希望能展示这个想法。

List<Measurement> measurements = new List<Measurement>() { ... };
measurements.OrderByDescending(m =>
{
    if (m is AdditionalMeasurement additionalMeasurement)
    {
        return additionalMeasurement.PurchaseDate;
    }
    else if …
Run Code Online (Sandbox Code Playgroud)

.net c# linq sorting

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

如何为双精度值定义字符串格式,使其显示值就像被除以一样?

假设我有一个double = 99.00;. 如何定义一个字符串format,该字符串将输出一个字符串,就像"0.099"使用double.ToString(format);. 正如你所看到的,我想格式化我的双精度,就好像它被除以一样1000

我知道我可以做这样的事情:

double number = 99.00;
string formattedNumber = (number / 1000).ToString("0.000");
Console.WriteLine(formattedNumber); // Output: "0.099" 
Run Code Online (Sandbox Code Playgroud)

然而,有没有一种方法可以直接定义格式而不需要任何额外的计算呢?

.net c# string-formatting

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