小编Rob*_*yan的帖子

映射类型不能声明属性或方法 - TypeScript

我有一个接口,它应该具有特定枚举键类型的键,但是当我声明该类型时,它会给出以下错误:

映射类型不能声明属性或方法。

这是代码:

enum myEnum {
  propOne = 'propOne',
  propTwo = 'propTwo'
}

export interface myInterface {
  [key in myEnum]: anotherInterface;
}
Run Code Online (Sandbox Code Playgroud)

我尝试也像这样指定类型,但它不起作用并给了我语法错误:

export interface myInterface {
  [key in keyof typeof myEnum]: anotherInterface;
}
Run Code Online (Sandbox Code Playgroud)

我还尝试使用普通对象而不是枚举,但它给出了相同的错误。

javascript enums typescript

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

将kebab-case 转换为camelCase - Javascript

假设我有一个函数可以转换kebab-casecamelCase

camelize("my-kebab-string") == 'myKebabString';
Run Code Online (Sandbox Code Playgroud)

我快到了,但我的代码也输出大写的第一个字母:

function camelize(str){
  let arr = str.split('-');
  let capital = arr.map(item=> item.charAt(0).toUpperCase() + item.slice(1).toLowerCase());
  let capitalString = capital.join("");

  console.log(capitalString);
}

camelize("my-kebab-string");
Run Code Online (Sandbox Code Playgroud)

javascript arrays string camelcasing

15
推荐指数
3
解决办法
8504
查看次数

Git - BUG:refs/files-backend.c:465:返回非零-1,应该设置 myerr!在分支主干上

我已将一些文件复制粘贴到我有 git 的目录中,当我运行命令时,git status它给了我这个错误消息。

\n
BUG: refs/files-backend.c:465: returning non-zero -1, should have set myerr!\nOn branch main\n
Run Code Online (Sandbox Code Playgroud)\n

当我用 恢复所有内容时git restore .,该消息仍然存在。

\n

我试图找到该错误的含义,但我还没有\xe2\x80\x99找到任何东西。

\n

git git-bash

10
推荐指数
1
解决办法
1792
查看次数

无法对“性能”执行“测量”:标记“<yourMarkName>”不存在

我想测量异步操作的持续时间,并为此设置标记。我在异步操作开始之前设置的第一个标记和在异步操作的回调中设置的带有测量的结束标记,如下所示:

performance.mark('async start');
someAsyncFunction(function callback() {
   performance.mark('async end');
   performance.measure('async operation', 'async start', 'async end');
});
Run Code Online (Sandbox Code Playgroud)

但它给了我这个错误:

未处理的拒绝(语法错误):无法对“性能”执行“测量”:“异步启动”标记不存在。

我试图找到类似的答案,但没有找到任何相关内容。

javascript browser performance asynchronous

9
推荐指数
0
解决办法
5964
查看次数

Const 声明需要初始化值

我想将 TypeScript 添加到我的项目中,但在向数组添加类型时遇到此错误:

SyntaxError:
my/path/of/file:
Const declarations require an initialization value (2:28)

  1 | //keycodes of restricted characters for all our amount inputs    
  2 | export const restrictedChars: number[] = [ 43, 45, 69, 107, 109, 187, 188, 189, 190 ];         
Run Code Online (Sandbox Code Playgroud)

这是代码:

//keycodes of restricted characters for all our amount inputs
export const restrictedChars: number[] = [ 43, 45, 69, 107, 109, 187, 188, 189, 190 ];
Run Code Online (Sandbox Code Playgroud)

我尝试声明数组并在导出后但没有成功。我还尝试为该数组创建一个接口,如某些此类问题的解决方案中提到的那样,但它也没有帮助。

webpack.config.js

const path = require("path");
const webpack = require("webpack");

module.exports = { …
Run Code Online (Sandbox Code Playgroud)

javascript typescript

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

如何在不使用其他数组的情况下过滤数组

到目前为止,我已经尝试过了,但是它返回了未过滤的数组:

function filterRangeInPlace(array, min, max) {
  array = array.filter(item => (item >= min && item <= max));
  console.log(array);
}

let arr = [5, 3, 8, 1];

filterRangeInPlace(arr, 1, 4);

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

javascript arrays filter

6
推荐指数
1
解决办法
127
查看次数

使用闭包的乘法选择的数组过滤器功能-Javascript

我需要为过滤器创建一个函数,它必须有2个选择。

  1. inBetween(a, b)-这将返回a和之间的数组b
  2. inArray([...]) -将返回与过滤数组匹配的项目数组。

像这样:

let arr = [1, 2, 3, 4, 5, 6, 7];

console.log( arr.filter(f(inBetween(3, 6))) ); // 3,4,5,6
console.log( arr.filter(f(inArray([1, 2, 10]))) ); // 1,2
Run Code Online (Sandbox Code Playgroud)

我试过这个功能:

function f(item) {
  let result = [];

  function inBetween(from, to){
    if (item >= from && item <= to){
      result.push(item);
    }
  }

  function inArray(array){
    if (array.indexOf(item) >= 0){
      result.push(item);
    }
  }

  return result;
}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将我的功能附加到filter。它给出了这个错误:

console.log(arr.filter(f(inBetween(3,6)))); // 3,4,5,6

ReferenceError:未定义inBetween

有可能吗?

javascript arrays closures filter

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

使用递归返回嵌套对象 - Javascript

我有一个带有嵌套对象的对象:

let list = {
  value: 1,
  next: {
    value: 2,
    next: {
      value: 3,
      next: {
        value: 4,
        next: null
      }
    }
  }
};
Run Code Online (Sandbox Code Playgroud)

我需要返回所有key: valuelist我必须使用递归。我试图将嵌套对象推送到函数中的局部变量,但在第二次迭代中失败,因为名称不同。

这是函数:

function printList(list){
  let nested = {};

  if(list.hasOwnProperty('next')) {
      nested = list.next;
      printList(nested);
  } else {
    return nested;
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法用递归解决它?

它应该返回value属性。在这种情况下

1
2
3
4
Run Code Online (Sandbox Code Playgroud)

javascript recursion object

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

Typescript 只能输入奇数

我想要一种类型来检查该值是否为奇数。我试图找到一些东西,但我只找到硬编码的解决方案,例如odds: 1 | 3 | 5 | 7 | 9. 但我想知道是否有一种动态方法可以仅使用 Typescript 来完成此操作。

我知道例如在JS中我们可以用这个表达式找出数字是否为奇数x % 2 === 1。我想知道是否有一种方法可以使用这样的表达式来定义类型。

javascript typescript

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

如何为输入(react-native-elements)标签设置 fontFamily?

fontFamily不适labelStyle用于Input来自的组件的属性react-native-elements。我错过了什么?

我正在使用 react 16.8.6、react-native 0.60.4 和 react-native-elements 1.1.0。我一直在我的整个应用程序上使用这个字体系列 (Arciform),到目前为止它一直在工作。

样式表代码 - 文件定义库

export const definicoesBase = {
    tamanhoFonteTextoComum : 16,
    alturaLinhaTextoComum : 22,
    fontFamilyTextoComum : 'Arciform',
    corFonteTextoCabecalho : "#fff",
    tamanhoFonteTextoCabelho: 20,
    corFonteTextoComum : "#212121",
    corFonteTextoAvaliacao : "#e7a74e",
    fontWeightCabecalho:"bold",
    backgroundGeral : "#fff",
    backgroundAnuncio : "#FFF",
    corBordaAnuncio : "#bdbdbd",
    corBarraSlider : "#bdbdbd",
    corBotaoSlider : "#0288d1",
    backgroundCabecalho : "#0288d1",
};
Run Code Online (Sandbox Code Playgroud)

样式表代码 - 文件 StyleFaleConosco

import { StyleSheet } from "react-native";

import StyleBase, { definicoesBase } from …
Run Code Online (Sandbox Code Playgroud)

input font-family react-native react-native-elements

2
推荐指数
1
解决办法
2190
查看次数

不能去下一个中间件——NodeJS

我正在使用expressrouter来创建一个具有公共和私有路由的服务器。要访问私有路由,用户必须登录并发送JWT令牌。令牌很好,但我无法将用户重定向到私有路由。

const express = require('express');
const jwt = require('jsonwebtoken');

const authRouter = require('./auth');
const usersRouter = require('./users');

const router = express.Router();

router.use(authRouter);

const accessTokenSecret = '4-8-15-16-23-42';
const privateRoutes = ['/user'];

const checkPublicOrPrivate = (req, res, next) => {
  privateRoutes.forEach(route => {
    if (req.path.includes(route)) {
      return authorization(req, res, next);
    }
  });

  return next();
};

const authorization = (req, res, next) => {
  const { token } = req.headers;
  if (token) {
    jwt.verify(token, accessTokenSecret, (err, user) …
Run Code Online (Sandbox Code Playgroud)

javascript middleware node.js express jwt

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