在什么情况下存储在数组中不同的数据类型在Javascript中有用?

Fel*_*con 6 javascript arrays

我最近一直在学习一些javascript,发现你可以在这样的数组中存储不同的数据类型:

var myArray = [12, 23.5, "hello", true]; 
Run Code Online (Sandbox Code Playgroud)

我有一些Java背景,这在Java中是不可能的,因为你必须声明数据类型,否则你会得到一个错误(int myArray = blah blah blah)

所以我的问题是,在什么情况下你会使用它代替一个对象.例子很棒.谢谢.

Kon*_*nev 5

任何非强类型语言都是如此.您的数组成员可以是不同的基元,也可以是对象.在大多数情况下,您不希望使用它,因为阵列没有明确的结构.你宁愿有这样的东西:

var data = {
    prop: 12,
    otherProp: 24.5,
    stringProp: "hello",
    boolProp: true
};
Run Code Online (Sandbox Code Playgroud)


Max*_*oom 5

尽管可以在数组中存储不同的数据类型,但这被认为是一种糟糕的编程风格,因为数组根据定义是同构数据结构

如何以统一的方式处理这样的数组:

[ 2.5 , [ 1, 2 ], ["a", "b", "c"], {min: 2, max: 5}  ]
Run Code Online (Sandbox Code Playgroud)

为了

  • 排序
  • 序列化
  • 内存利用率
  • 算法,即最大值

数组中有不同的类型似乎并不自然,不是吗?