将值添加到JavaScript数组

时间:2015-11-09 05:03:56

标签: javascript arrays

我正在寻找向对象中的数组添加值数组但由于某种原因,结构看起来不正确。

我从空对象开始:

var title = "name";
var kw = "fashion";

objectName = {[title]: [] };

然后我将一个字符串推入数组:

objectName[title].push(kw);

但是,当我console.log objectName时,我会看到以下屏幕截图:

enter image description here

我想改为使用以下结构:

{"name":["Item 1", "Item 2", "Item 3", "Item 4"]}

我是否错误地构建了数组?我很困惑为什么属性名称(utm_term [assisting])也出现在数组下面。

1 个答案:

答案 0 :(得分:1)

如果该属性应该被称为nametitle),那么您的代码在ES2015 +(6月的新JavaScript标准)中就可以了。 ,但你可能在ES5或更早版本中使用它,因为这是大多数JavaScript引擎目前支持的。

在这种情况下,您需要将objectName初始化分为两部分:

objectName = {};
objectName[title] = [];

E.g:

var title = "name";
var kw = "fashion";

var objectName = {};
objectName[title] = [];

objectName[title].push(kw);

snippet.log(JSON.stringify(objectName, null, 2)); // Just using JSON for output display
<!-- Script provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="//tjcrowder.github.io/simple-snippets-console/snippet.js"></script>

(我假设您已在某处声明了objectName变量。如果没有,请务必添加我在上面添加的var,否则您将成为The Horror of Implicit Globals的牺牲品。)