在Javascript数组中连接值

时间:2013-02-13 17:21:39

标签: javascript arrays join

说我有:

var Certificated = {}

子项目会动态添加并变化。可能的结果:

var Certificated = {
    Elementary: ["foo","bar", "ball"]
    MiddleSchool: ["bar", "crampapydime"]
};

我想做以下事情:

Certificated.Elementary = Certificated.Elementary.join("");

除了我需要它在内部的所有对象上执行此操作。

请记住,我无法确切知道Certificated内的标题和对象数量。{/ p>

我的问题是如何在.join("")内的所有元素上使用Certificated,而不是专门调用每个元素?

编辑:我知道.join()用于数组,Certificated中的对象将是数组。因此,连接方法。

1 个答案:

答案 0 :(得分:2)

这有用吗?

for (var key in Certificated) {
    if (Certificated.hasOwnProperty(key)) {
        Certificated[key] = Certificated[key].join("");
    }
}

它循环遍历Certificated的所有属性,并快速安全地检查key是否为属性,然后使用括号表示法[""] - 来执行{{1} }}

快速提问 - 您确定要使用join吗?我知道你刚刚提供了一个例子,但你不能在字符串上调用join ...它是用于数组的。只是想确保你知道。

这是我的代码的jsFiddle,它使用了用于属性的数组:

http://jsfiddle.net/v48dL/

请注意,在浏览器控制台中,属性的值是字符串,因为join将它们与join合并。