说我有:
var Certificated = {}
子项目会动态添加并变化。可能的结果:
var Certificated = {
Elementary: ["foo","bar", "ball"]
MiddleSchool: ["bar", "crampapydime"]
};
我想做以下事情:
Certificated.Elementary = Certificated.Elementary.join("");
除了我需要它在内部的所有对象上执行此操作。
请记住,我无法确切知道Certificated
内的标题和对象数量。{/ p>
我的问题是如何在.join("")
内的所有元素上使用Certificated
,而不是专门调用每个元素?
编辑:我知道.join()用于数组,Certificated中的对象将是数组。因此,连接方法。
答案 0 :(得分:2)
这有用吗?
for (var key in Certificated) {
if (Certificated.hasOwnProperty(key)) {
Certificated[key] = Certificated[key].join("");
}
}
它循环遍历Certificated
的所有属性,并快速安全地检查key
是否为属性,然后使用括号表示法[""]
- 来执行{{1} }}
快速提问 - 您确定要使用join
吗?我知道你刚刚提供了一个例子,但你不能在字符串上调用join
...它是用于数组的。只是想确保你知道。
这是我的代码的jsFiddle,它使用了用于属性的数组:
请注意,在浏览器控制台中,属性的值是字符串,因为join
将它们与join
合并。