Javascript Arrays真的是Arrays吗?

时间:2017-06-28 07:29:32

标签: javascript arrays

我是Javascript的初学者并学习这些概念。我在学习过程中遇到了以下代码片段。

<script>
    var data=[];
    data.push("100");
    data.push(100);
    var object=[];
    object.string="100";
    object.number=100;
    data.push(object);
    console.log(data);
</script>

上面的代码片段定义了一个Array,并将String,Number和Object推入其中。我认为这违反了数组的定义,其内容如下:

  

Array是一个容器,可以容纳固定数量的项目和这些项目   项目应为相同类型

我想知道数组是否是在这种情况下使用的正确术语,因为元素的类型不同。

2 个答案:

答案 0 :(得分:1)

您理解/读取它们不正确(如果是javascript)。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array

  

数组是类似列表的对象,其原型具有执行遍历和变异操作的方法。 JavaScript数组的长度及其元素的类型都不固定。

是的,这个定义纯粹是为了Javascript。例如:Java数组严格基于类型。

答案 1 :(得分:0)

&#34;应该是&#34;这里很可能是指逻辑同构集合比异构集合更容易处理的事实。如果你有一组数字,你可以进行汇总操作,比如容易求和;如果你有各种各样的东西,你需要逐个挑选它,并且不能轻易地做任何事情。这往往是一个结构糟糕的计划的标志。

为什么集合必须是同构的,没有技术上的理由,特别是在像Javascript这样的动态类型语言中(在静态类型语言中更是如此)。