问题标签 [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.
arrays - 根据某些元素中可能为 nil 的属性对数组进行排序
我有一个对象数组
我需要按时间排序数组,然后按 val
但是使用 sort_by 会引发错误,因为时间为零。
我现在正在使用一种丑陋的方式进行排序,但我相信有一个很好的方法来解决它
c# - C#中的多重继承和异构集合
努力完成一项旨在将 C++ 中工作的内容转换为 C# 的任务。
我知道 C# 不支持真正的多重继承,但它可以通过接口和组合来模拟。
在 C++ 中,我有一个设计,其中两个类从一个父类继承。假设 Vehicle 是父类,而 Car 和 Boat 继承自 Vehicle。
还有第二个类,从中派生出另外三个类。我们称之为许可证。三个附加类继承自三个 Vehicle 类和 License 类。
所以我们有类似的东西:
现在在我的主要方法中,我可以为上面的三个多重继承类创建对象,并将它们添加到两个指针数组中,一个是 Vehicle 类型,一个是 License 类型。然后,我可以从一个阵列访问 Vehicle 的一半功能,从另一个阵列访问 License 功能。例如:
现在我可以遍历这两个数组并访问 Vehicle 和 License 中的每个方法。例如:
现在这在 C++ 中运行良好,所以我的问题是将其翻译成 C#。有什么合理的方法可以做类似的事情吗?
到目前为止,我已经设置了三个车辆类,并通过执行以下操作设置了三个“模拟多重继承”类:
我知道我可以创建一个 Vehicle 类型的异构数组并访问 move(),但是有什么方法可以让一个异构集合也访问 renew(),就像我在 C++ 中使用 LiscenseHeteroArray[] 所做的那样?
matlab - 仅对具有不同数据类型的元胞数组中的数值元素进行舍入
我有一个包含不同类型变量(双精度和字符串)的单元格,我想对单元格中的数字元素进行四舍五入。
round
函数只能与数组一起使用,不能与单元格一起使用,所以我正在尝试使用cell2mat
- 但如果单元格中的元素类型不同,则不能使用此函数。
知道如何舍入此单元格中的数字元素吗?当然,我不想对单元格元素进行循环。
matlab - 如何表示和访问这个多值数据结构的元素?
我正在尝试实现用于传感器融合的Brooks-Iyengar 算法,并尝试在 MATLAB 中表示以下数据结构。
我尝试执行以下操作
但是我不知道如何访问每个元素,即1.5
,3.2
以及4
下一组值。我从 中获得一组元素B{1}
,但之后无法获得各个值。
任何指向适当链接的想法或指针都会有所帮助。
c++ - C++ 异构列表
几个星期以来,我一直在互联网上搜索有关 c++ 中的异构列表 ( vector
, array
, list
),但是,在所有站点和论坛中,答案都是相同的:boost::any
,但我想要一种在纯 C ++ 中执行此操作的方法。我开发了这个:
但我得到这个错误:
我知道问题在于在类中或类中auto
用作返回类型,但我不知道如何解决。auto get()
any
auto& at(int idx)
queue
matlab - 如何测试异构数组中元素的类别?
MATLAB 支持将属于实现的公共根类的子类的对象分组matlab.mixin.Heterogeneous
到单个数组中,该数组将具有最近的共同祖先的类,例如:
我想编写一个函数来测试传入的未指定大小的句柄列表(通常是标量,但也可能是数组)是否属于特定的硬编码类或其后代。
如果输入是标量或齐次数组(即所有对象都具有相同的类),并且我们正在测试目标类本身(不包括子类),我们将从这样的函数中得到正确的结果:
hCandidate
但是,如果是异构数组,这将不起作用,因此我们必须这样做:
这是有效的,因为从异构数组中选择单个元素会使它们恢复到自己的特定类。
问题:如何使isCorrectClass
上面显示的函数适应目标类所在的以下层次结构Middle
(假设我的输入数组可能包含任何层次结构类的对象)?
c++ - c ++异构容器,获取条目作为类型
我有以下异构容器的简单实现:
以下是如何使用它:
我可以向其中添加任何类型的条目。但是我不知道如何实现一个函数来检索元素,作为某种类型,它可能与它的条目或基类相同。
我需要的似乎同时是虚拟和模板,这是不可能的。
c++ - 如何在 C++ 中实现通用指针类型
在 C 中,可以将数据指针分配给 void 指针,然后将其转换回原始类型,该数据指针将被恢复。语言标准保证这种转换不会丢失信息。这通常意味着(不一定,但对于大多数平台来说都是如此)void 指针的大小与数据指针的大小相同。因此,可以依靠这些事实将 void 指针用作指向异构类型的通用指针,而 void 指针本身具有统一的大小和表示形式。例如,有一个 void 指针数组,其元素指向动态分配的不同类型的对象。构造这样的数组使某些事情变得方便。我的问题是:如何实现类似的东西,C++ 中的通用指针类型,它符合以下要求:
从任何指针类型构造,可以编写如下代码
/li>恢复原始指针
/li>更新:根据一些评论,以上无法在 C++ 中完成,然后类似于
应该足够了,抛出异常类型不兼容。
g_pointer 可以包含在 std::vector 或普通数组中,这基本上意味着
(更新:这总是正确的,前提是可以正确实现这样的类,谢谢指出。)
我刚刚发现 boost::any,看一下它的介绍似乎暗示它可能是我想要的,尽管可能并非如此。因此,欢迎任何熟悉 boost::any 的人发表评论。
更新:(回复一些评论)
- g_pointer 类型对象应该知道它指向的对象的底层类型。因此,recover 方法应始终返回该类型的指针。
- 通用指针类型,意味着对任何对象的引用,恕我直言,对于任何支持面向对象范式的语言来说,这是一个合理的要求。
更新:谢谢@Caleth,std::any 很棒。
json - 解码异构数组
我发现了很多关于实现解码异构对象数组的示例,但它们并不真正适合我的情况。
这是我的 JSON:
这是我最初实现的:
但后来我发现结果数组中的最后一个对象与其他对象不同。如何为相同对象类型的数组中的特定对象实现自定义解析逻辑?