在javascript / jquery中访问存储在数组中的对象的属性

时间:2015-09-16 12:29:59

标签: javascript jquery arrays object

在我的javascript代码中,我有对象变量a,b和c,每个对象包含属性x,y和z。这些都是以通常的方式构建的:

var a = {
    x: 'foo',
    y: 'bar',
    z: 'foobar'
};

出于我的项目的目的,对象a,b和c存储在一个数组中:

var array = [a, b, c];

计划是能够根据需要从此数组中提取给定的对象属性,但我无法使其工作。我可以通过调用a.x来正常拉取一个对象属性,但是尝试检索array [0]只能得到我" [object Object]",而array [0] .x返回undefined。我还尝试了#34; array [0] [0]",但只返回" [object Object]"的第一个字符。

毫无疑问,这是基本的东西,但我很难过。有人可以让我直截了当吗?

编辑:忘记指示我的对象的属性是字符串。道歉。

编辑2:每个人都说我的代码没有问题是正确的:它实际上按照我所描述的方式工作。那么,似乎放弃的东西是,在填充之后,我的数组被保存在localStorage中然后被检索,然后我在检索后尝试访问它。我需要重新考虑我的数据保存策略。

1 个答案:

答案 0 :(得分:1)

您仍然可以使用localStorage,只需在存储之前使用JSON.stringify(),然后在检索后使用JSON.parse()

// Setting an item in localStorage
localStorage.setItem("arrItem", JSON.stringify(array));
// Getting an item in localStorage
var array = JSON.parse(localStorage.getItem("arrItem"));
// Will properly log "foo"
console.log(array[0].x);