小编Mer*_*ero的帖子

TypeScript 从数字或字符串数​​组创建集合/数组

我正在尝试创建一个函数,它接受数字数组或字符串数​​组并从该数组返回 Set,如下所示:

const f = (arr: number[] | string[]): number[] | string[] => {
    return [...new Set(arr)]; 
}
Run Code Online (Sandbox Code Playgroud)

并得到一个错误:

没有重载与此调用匹配。
重载 1 of 2, '(iterable?: Iterable | null | undefined): Set' 出现以下错误。'number[] | 类型的参数 string[]' 不可分配给 'Iterable | 类型的参数 空 | 不明确的'。类型“string[]”不可分配给类型“Iterable”。“Symbol.iterator.next(...)”返回的类型在这些类型之间不兼容。类型“IteratorResult<string,any>”不可分配给类型“IteratorResult<number,any>”。类型“IteratorYieldResult”不可分配给类型“IteratorResult<number, any>”。类型“IteratorYieldResult”不可分配给类型“IteratorYieldResult”。类型“string”不可分配给类型“number”。
重载 2 个,共 2 个,“(values?: readonly number[] | null | undefined): Set”,出现以下错误。'number[] | 类型的参数 string[]' 不可分配给 'readonly number[] | 类型的参数 空 | 不明确的'。类型“string[]”不可分配给类型“readonly number[]”。类型“string”不可分配给类型“number”。

我可以将传入类型从 更改number[] | string[](number | string)[],但这意味着数组中可以同时包含数字和字符串,这不是我想要的

const …
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript

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

我可以对 SVG &lt;path&gt; 使用 animate() 吗?

尝试使用 vanilaanimate()函数对 SVG <path>元素进行动画处理

小路:

<path id="path1" fill="black" d="M30,30l 50,10 0,50"></path>
Run Code Online (Sandbox Code Playgroud)

杰斯:

path1.animate([
    { d: `M30,30 l10,10 50,0` },
    { d: `M30,30 l60,10 50,20` },
    { d: `M30,30 l10,10 50,0` },
 ], {
    duration: 1000
})
Run Code Online (Sandbox Code Playgroud)

收到警告但没有任何作用:

属性 d 的关键帧值无效:M30,30 l10,10 50,0 属性 d 的关键帧值无效:M30,30 l60,10 50,20 属性 d 的关键帧值无效:M30,30 l10,10 50,0

javascript animation svg path

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

Svelte 每个工作两次/每个绑定错误(无法设置未定义的属性)

我正在尝试将元素绑定在{#each}块中并通过单击删除它们。

    <script>
        const foodList = [
          { icon: '', elem: null, },
          { icon: '', elem: null, },
          { icon: '', elem: null, },
        ]; 
        const remove = (index) => { 
          foodList.splice(index, 1);
          foodList = foodList;
        };
    </script>

    {#each foodList as {icon, elem}, index}
      <div 
        bind:this={elems[index]}
        on:click={remove}
      >
        {icon}
      </div>
    {/each}

Run Code Online (Sandbox Code Playgroud)

在我的代码中我遇到了两个问题:

  • {#each}迭代次数比他应该做的多两倍
  • 通过单击绑定元素删除数组中的项目后 - svelte 引发错误“无法设置未定义的属性”

为什么它会这样工作?

each binding bind svelte

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

标签 统计

javascript ×2

animation ×1

arrays ×1

bind ×1

binding ×1

each ×1

path ×1

svelte ×1

svg ×1

typescript ×1