2016-02-19 49 views
0

我有对象数组,它看起来像加入JavaScript项对象

Object {0: "tariffs", 1: "tariffs_yes", 2: "tariffs_no"} 

从Chrome的控制台

的开头,我需要不印字这个数组,并添加{-1:“新项目” }到数组的开头。我不能使用array.unshift('newItem');array[-1] = 'new item...'增加项目阵列的顶部:

Object {0: "tariffs", 1: "tariffs_yes", 2: "tariffs_no", -1: "new item..."} 

我如何添加到开始?

+4

需要注意的是,根据规格,对象的按键没有顺序。为什么你不能使用数组? –

+1

如果'array.unshift()'没有抛出错误,那么你有一个对象,而不是一个数组 – baao

+0

,那么显示的数据并不是你正在处理的内容的真实表示。试图在该对象上使用它会引发错误 – charlietfl

回答

0

,我需要不印字这个数组

这不是一个数组,它是一个对象。

添加{-1: 'new item'}到数组的开头

对象不具有开始和结束;它们只是关键/值对的包。

您可以

object[-1] = "new item"; 
+1

我喜欢技术术语“包包”。 – Andy

0

您正在使用的对象,并把它当作一个数组添加你想要的属性。根据definition of an Object from ECMAScript Third Edition (pdf)

4.3.3对象 对象是Object类型的成员。它是一个无序的属性集合,每个属性都包含一个原始值,对象或函数。存储在对象属性中的函数称为方法。

为了能够创建可排序的集合,请改用数组。