我知道在 TypeScript 中我们可以强制执行特定的字符串,如下所示:
const myStrings = ['foo', 'bar', 'baz'] as const;
type MyStringTypes = typeof myStrings[number];
Run Code Online (Sandbox Code Playgroud)
但是,我需要的是仅强制执行最终字符串的第一个字符。
例如,我想创建一个类型 ( MyPrefixTypes),其中包含'prefix1', 'prefix2', ..., 'prefixN',后跟任何其他字符。
使用这个,我可以检查字符串是否正确。
例子:
const foo: MyPrefixTypes = 'prefix1blablabla'; // OK
const bar: MyPrefixTypes = 'incorrectprefixblablabla'; // NOT OK
Run Code Online (Sandbox Code Playgroud) 我试图从双引号而不是单引号的字符串列表中返回一个变量.
例如,如果我的列表是
List = ["A", "B"]
Run Code Online (Sandbox Code Playgroud)
如果我键入List[0]输出是'A'.相反,我想要"A".有没有办法做到这一点?我需要这个,因为在ArcGIS中运行的外部脚本只接受双引号内的变量.
我正在尝试获取元素的最接近的父元素。
看看.closest(),如果选择器与元素匹配,它似乎会返回元素本身:
Closest() 方法遍历 Element 及其父级(指向文档根),直到找到与提供的选择器字符串匹配的节点。将返回自身或匹配的祖先。如果不存在这样的元素,则返回 null。
(重点是我的)
那么,在给定选择器的情况下,获取元素最接近的父元素的最佳方法是什么?
例子
var el = document.getElementById('foo');
var closestParent = el.closest('div');
console.log(closestParent);Run Code Online (Sandbox Code Playgroud)
<div>root
<div>level1
<div id='foo'>level2</div>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
正如您所看到的,el.closest('div');返回el自身,而不是与选择器div(level1)匹配的最接近的父级,这正是我所需要的。
我知道在这种情况下我可以简单地执行closestParent.parentElement,但这只是一个示例,我试图弄清楚是否可以避免.closest()返回元素本身。
经过很多天尝试连接到我的 PostgreSQL 实例后,我决定是时候寻求帮助了。
我正在尝试从 Windows 计算机连接到我的 PostgreSQL 数据库。
我正在尝试 pgAdmin 4 和 dBeaver,但都无法连接。下面是我使用 dBeaver 连接时收到的错误的屏幕截图。
我创建的连接是这样的:
我的用户是(\du):
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
umberto | Superuser, Create role, Create DB | {}
Run Code Online (Sandbox Code Playgroud)
我的数据库 ( \l):
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+---------+---------+-----------------------
postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 …Run Code Online (Sandbox Code Playgroud) 我有一个二进制文件,我想将其打开为(或转换为)jpeg 图像。我认为该文件只是二进制格式的 jpeg,因此我包含了其中的一部分,以便您可以告诉我我是否错了(因为不幸的是我以前从未见过其中之一):
0000000000 0E 03 13 01 00 10 00 00 EC B0 00 1E 00 01 00 00 [................]
0000000016 00 CA 00 00 00 5C 00 0F 00 01 00 00 01 26 00 00 [.....\.......&..]
0000000032 00 00 01 2F 00 01 00 00 01 26 00 00 83 B2 00 6A [.../.....&.....j]
0000000048 00 01 00 00 84 D8 00 00 00 04 01 2C 00 01 00 00 [...........,....]
0000000064 84 DC 00 00 …Run Code Online (Sandbox Code Playgroud) OpenLayers 库是否提供了一种为添加到地图的图层分配/获取唯一标识符的方法,或者我应该自己实现它?
这个问题源于我需要唯一标识添加到地图中的各种类型的图层(主要是 LayerGroup 和 TileLayer),并为我在类似内容表的 DIV 中并行创建的每个图层提供相同的引用 id(就像ol-layerswitcher一样)。这样我就能够唯一地识别地图中的图层/图层组及其 DOM 上下文(我可以在其中控制其可见性、缩放等)。
我认为类似的东西会存在,因为它看起来相当重要,但我似乎无法在文档中而不是 API 中找到它。
这个问题与我的另一个问题相关,我基本上假设不存在为层分配/检索 id 的内置方法,并且我试图弄清楚如何扩展 OpenLayers 类和方法来实现和获取无论何时何地我需要这些属性。
我正在查看关于我的 postgres 版本的表分区的 PostgreSQL 官方文档页面。
我想在三列上创建表分区,并且我希望使用声明性分区和BY LIST方法来做到这一点。
但是,我似乎找不到关于如何处理更多列的好例子,特别BY LIST是。
在上述文档中我只读到:
如果需要,您可以决定在分区键中使用多列进行范围分区。(...) 例如,考虑使用列姓氏和名字(按该顺序)作为分区键对表范围进行分区。
看来多列上的声明式分区只是为了BY RANGE还是不正确?
但是,如果不是,我在 SO 上找到了一个答案,它告诉我如何处理BY LIST和一列。但就我而言,我有三列。
我的想法是做类似以下的事情(我很确定这是错误的):
CREATE TABLE my_partitioned_table (
col1 type CONSTRAINT col1_constraint CHECK (col1 = 1 or col1 = 0),
col2 type CONSTRAINT col2_constraint CHECK (col2 = 'A' or col2 = 'B'),
col3 type,
col4 type) PARTITION BY LIST (col1, col2);
CREATE TABLE part_1a PARTITION OF my_partitioned_table
FOR VALUES IN (1, 'A');
CREATE …Run Code Online (Sandbox Code Playgroud) 由此
x <- 1:10
block.size <- 3L
Run Code Online (Sandbox Code Playgroud)
我想生成一系列长度为 3 的连续且重叠的块,如下所示:
1,2,3
2,3,4
3,4,5
4,5,6
5,6,7
6,7,8
7,8,9
8,9,10
Run Code Online (Sandbox Code Playgroud)
我发现这个很好的答案适用于角色。
我可以想到一个循环来做到这一点,但如果可能的话,我肯定更喜欢更简洁和矢量化的方式。这是我的看法。
block.nums <- length(x)-len+1
blocks <- vector(mode = "list", length = block.nums)
for (i in 1:block.nums) {
blocks[[i]] <- i:(i+block.size-1)
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 JSFiddle 对 fetch API 进行一些测试,但每次都会收到 CORS origin 块。
有办法绕过它吗?我正在获取的服务器是 localhost,我应该做些什么来接受 JSFiddle 的请求,还是有一种更简单的方法可以在不触及我的服务器配置的情况下执行此操作?
这是一个例子:
async function getText(url) {
try{
var response = await fetch(url);
var txt = await response.text();
return txt;
}
catch(e){
console.log('there was an error');
console.log(e);
}
}
alert(getText('https://www.vim.org/git.php'));Run Code Online (Sandbox Code Playgroud)
javascript ×2
postgresql ×2
binary ×1
cors ×1
cross-domain ×1
css ×1
dbeaver ×1
deployment ×1
fetch ×1
format ×1
html ×1
jpeg ×1
jsfiddle ×1
list ×1
openlayers ×1
openlayers-6 ×1
partitioning ×1
pgadmin ×1
pyqt ×1
pyqt5 ×1
python ×1
python-2.7 ×1
qmake ×1
qt ×1
r ×1
sequence ×1
string ×1
typechecking ×1
types ×1
typescript ×1
uuid ×1