1

基本上,我将这个动态创建的对象从我放入数组的 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

4

0 回答 0