-4

我可以编写一个函数来接收由数字或由“|”分隔的“对”组成的字符串吗 字符并产生如下所示的对象?每对都有其两个组件在内部用逗号分隔。

例子:

objectify("a,dog|b,cat|z,rat")  -->  {a: "dog", b: "cat", z: "rat"}
objectify("one,uno|two,dos")    -->  {one: "uno", two: "dos"}

谢谢!

4

2 回答 2

2
function objectify(str) {
    var obj = {},
        arr = str.split('|');
    for (i=0; i<arr.length;i++) {
        var parts = arr[i].split(',');
        obj[parts[0]] = parts[1];
    }
    return obj;
}

小提琴

创建一个空对象,拆分字符串|并遍历部分,再次拆分逗号,并将结果用作对象中的键/值对,并在完成后返回对象。

于 2012-12-10T18:41:49.123 回答
0
function objectify (str) {
    var pairs = str.split("|"),
        res = {};
    for (var i=0; i<pairs.length; i++) {
        var parts = pairs[i].split(",");
        res[parts.shift()] = parts.join(",");
    }
    return res;
}

查看数组字符串函数。

于 2012-12-10T18:42:47.140 回答