0

我正在尝试根据用户选择的字段将值存储在 javascript 对象表示法中。我能够将值存储到一个用逗号分隔的字符串中,如果我试图查找的术语是一个数组,我会得到 [object object] 作为回报,因为它是一个数组。我想知道如何将该数组中的所有项目存储到用逗号分隔的变量中,例如,如果我选择“时间”,那么它应该返回 2012 年 12 月 9 日

在示例中,有一个函数 findProps,如果我在 findProps("entityCount", data) 中给出参数 entityCount,我将根据我提供的 json 获得正确的返回类型为 50。Bt 如果我添加 findProps("Time", data);,因为它是一个数组,它返回 [object, object],而不是这些数组中的值,我希望显示该数组中的所有值(如Dec 9, 1, 2012)并且每个数组内的键可能不同,数组的深度也可能不同。我只是在这里使用一个静态示例。

我到达的部分返回值,如果它是一个非数组,http://jsbin.com/obehog/3/edit

还有另一个我接近做的例子,http://jsbin.com/obehog/4/edit bt 我不擅长递归,所以我坚持这个..

并且数组的深度可能会改变,在每种情况下都不相同。所以通过循环将不起作用..

4

2 回答 2

1

如果我理解正确,您的代码需要额外的函数,它将所有对象的属性写入数组。看看我的解决方案:http: //jsbin.com/obehog/6/edit#source

于 2012-07-10T06:51:45.817 回答
0

如果我一直在理解您的愿望,那么您希望将对象(包含字符串、数组和其他对象)“序列化”为字符串。因此,您只需要遍历您的对象并序列化它的各个部分。

快速、肮脏和递归:http: //jsfiddle.net/AwhfV/1/

只需根据您的需要进行更改

于 2012-07-10T06:52:55.410 回答