如何在动态创建的Array中获取动态创建的Object中的属性

时间:2013-05-15 14:34:58

标签: javascript jquery arrays object dynamic

基本上,我将这个动态创建的对象从我放入数组的PHP脚本发回。我在用户用来选择要查看的内容的工具中存储数组所在的位置,以及我想要获取的对象中的属性。

示例:

Object{
  Property1: string
  Property2: Int
  Property3: Object{
                 innerObjProperty1: Array
                 innerObjProperty2: string
             }
  Property4: Object{
                 innerObjProperty1: Array
                 innerObjProperty2: string
             }
  Property5: Object{
                 innerObjProperty1: Array
                 innerObjProperty2: string
             }
}

那将是数组中的一个对象

array={object1, object2}

该数组根据用户输入动态填充。

现在,如果我想从object1中获取数组中的innerObjProperty1,我知道我可以轻松地做到

array[object1].Property3.innerObjProperty1

但问题是,由于它是基于用户的,我在数组中的哪一点以及选择哪个属性取决于用户。内部对象内部的值将始终相同(innerObjProperty1,因为它是要查看的值的数组),但对象的哪个属性取决于选择框。

我有选择设置,其中有一个id绑定到它们有阵列位置和属性名称,但我知道没有简单的方法来快速选择基于变量的对象。例如:

var theSplit= $(this).attr("id").split("|");
var arrayItem = theSplit[0];
var objProperty = theSplit[1];
alert(array[arrayItem].objProperty.innerObjProperty1;

永远不会奏效。有没有简短的方法?或者我应该使用函数循环遍历属性的每个项目以找到等于objProperty的那个?对不起,如果它看起来很简单,但我觉得我宁愿用任何简短的手来达到它,如果可能的话,我想不出一个。循环遍历数组中的对象并不太难,只想查看是否有一个更简单的方法,使用JavaScript或jQuery

0 个答案:

没有答案
相关问题