值可以是标量还是数组的技术术语是什么?

12 arrays naming typescript

我正在使用JSON API格式,它具有data可以保存标量(单个)或数组(多个)值的属性的概念.我正在编写用于编码和解码的代码到格式中,并且在命名我的类型时,试图为这些类型的值提出一个好名字.在TypeScript中,它会是

type Poly<T> = T | T[];
Run Code Online (Sandbox Code Playgroud)

有关您的信息,这里是JSON API doc的相关部分(我的重点):

主数据必须是任一:
一个单一的资源对象,一个单一的资源标识符的对象,或为空,为靶向单资源的请求
阵列资源的对象,资源标识符的对象的阵列,一个空数组([]),对于请求目标资源集合

例如,这里是这种突变值的映射函数:

function polymap<T, U>(data: Poly<T>, fn: (input: T) => U, thisArg?: any): Poly<U> {
  if (data instanceof Array) return (data as T[]).map(fn, thisArg);
  return fn.call(thisArg, data as T);
}
Run Code Online (Sandbox Code Playgroud)

无论如何,正如你所看到的,我将使用"poly",但是有没有任何既定的术语或其他好的建议?

Meh*_*dad 6

首先,标量和数组之间的区别不是元素的数量,而是维数.
标量数组.具体来说,它们是0维数组.所以你只需要调用所有数组.

但请注意,通常重点不在于变量可以容纳的值,而是变量的潜在值允许的操作.

一些操作可以从1个元素推广到N个元素,这似乎是你想要的.

这种操作的CS-y术语是" 矢量化操作".
这种操作的数学术语是" 提升操作 ".