问题标签 [heterogeneous-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
10354 浏览

java - java中的异构对象是什么?

当我在Object类中使用任何泛型类型的集合并且在这种情况下我在该集合中存储不同的对象时。

我可以说该集合是否包含异构对象吗?

0 投票
1 回答
122 浏览

c++ - 将异构初始化器列表传递给流运算符

是否可以将可流式传输的异构类型列表传递给调试流式操作符?

我想这可能与可变参数模板之类的东西有关?我希望运算符 << 调用列表中的每个元素并附加一个逗号。

0 投票
2 回答
611 浏览

haskell - '[] 和 ': 在 Haskell 中是什么?

我已经在几个地方看到过这个'[]':语法,尤其是在HListHVect等异构列表包中。

例如,异质向量HVect定义为

在 GHCi 中,带有扩展名TemplateHaskellor DataKinds,我得到了这个

我的印象是这与依赖类型和种类等有关,与模板 haskell 无关。

搜索引擎,以及hooglehayoo处理查询的方式'[]':相当糟糕,因此问题是:这些'[]':事物的名称是什么?指向文档或教程的指针将是最受欢迎的。

0 投票
3 回答
404 浏览

c# - 如何在 C# 中优雅地填充异构数组

我有 3 个不同的类(1 个父类和 2 个子类),并且我创建了一个异构数组:

我想按顺序用 3 个 Parent 对象、3 个 child1 对象和 3 个 child2 对象填充这个数组。

我想知道是否有比这样做更优雅的方法:

谢谢!

0 投票
1 回答
75 浏览

javascript - 在流程中如何接受异构数组并返回该数组

当我有一个接受泛型数组并返回转换后数组的函数时,我可以编写:

但是,如果数组是异构类型,这将失败,因为 T 在数组上是不同的。现在,因为我知道 T 将始终是某个基础的子类型:BaseTy并且在函数期间我只使用来自/在基础类型上操作的函数,我可以编写:

然而,这存在实际类型“丢失”的问题,因此该数组不再是派生类型的异构数组。

这可以在不使用不安全的类型转换的情况下解决any吗?

0 投票
1 回答
106 浏览

angular - 如何以角度显示具有不同模板的异构列表?

我想提供来自服务的项目列表,这些项目可能属于不同类型。我需要在运行时为每个项目显示不同的模板。有没有什么东西可以根据集合中的每个项目的值或类型选择一个模板?例如,xaml 具有模板选择器的概念。

0 投票
2 回答
162 浏览

swift - 将通用对象存储在异构数组中并将对象参数检索为正确的类型

大家好,

我最近一直在尝试实现一个基于节点的图形系统,它使用插件在节点之间传递数据。类似于许多 3D 应用程序,如 houdini 和 maya。

在使用 Python 之前,我已经编写了一个类似的系统,并且想尝试使用 Swift 作为我的第一个学习练习。男孩,我在这个问题上跳入了深渊。

我现在被 Swifts Arrays 困住了,因为我想存储一个通用插件列表。每个插件可以有自己的值类型float、int、color、string、Vector Matrix。

我已经阅读了有关类型橡皮擦和不透明类型的信息,但似乎仍然无法以一种可以对它们执行一些算术运算的方式将我的值从列表中获取。

非常感谢所有可能使我朝着这个方向前进的帮助:D

谢谢大家

0 投票
1 回答
63 浏览

c++ - 如何在不使用 STL 的情况下在 C++ 中编写动态异构集合?

基本上我必须动态地将不同的电影存储在异构集合中,我已经拥有不同的电影类型(纪录片和家庭)和“掩盖”差异的类(电影),因此可以将其存储在一个地方(记录)。我的 addMovie(Movie *mov) 函数有问题。我不知道如何开始。

我的记录类:

电影类:

纪录片类:(family 类类似,它存储一个 int age_restriction 和 write 函数写入)

(PS:如果您有动态异构商店的任何良好来源,我会全力以赴)

0 投票
2 回答
81 浏览

ios - 如何将函数中泛型类型的参数约束为兄弟参数

要了解问题的起源,让我们从一些代码开始:

然后我有一个类型为异构数组的结构MyProtocol

如果我要使用以下方法更改其中一个值Values

那会很顺利。我面临的问题是,假设我想更改var thirdProperty: Int中的structB项目var arr: [MyProtocol],我将无法这样做mutating func set<T: MyProtocol>(at index: Int, _ newValue: T),因为它只知道MyProtocol类型。

所以我解决这个问题的 2 美分是使用这样的闭包:

这样做的问题是,每次我调用这个方法时,我首先需要向下转换参数(从MyProtocolStructB)。这似乎更像是一种解决方法,可能会在路上引起不受欢迎的行为。

所以我开始思考也许有一种方法可以将泛型参数限制为类似这样的兄弟参数(伪代码):

正如您所猜测的那样,它不会编译。

关于如何以更好的方式处理这个问题的任何想法。TIA

0 投票
2 回答
1175 浏览

android - Kotlin 反序列化 - 多个不同对象的 JSON 数组

我正在使用 1.0.0 版本的kotlin 序列化,但是当我尝试反序列化“灵活”数组时我被卡住了。

从我无法控制的后端 API 中,我得到一个包含不同类型对象的 JSON 数组。您将如何使用 kotlin 序列化反序列化它们?

例子

这是 API 的响应

执行以下代码会导致错误

错误Polymorphic serializer was not found for class discriminator