-4

「|」で区切られた数字または「ペア」で構成される文字列を受け取る関数を記述できますか? 以下に示すように、文字とオブジェクトを生成しますか? 各ペアには、コンマで内部的に区切られた 2 つのコンポーネントがあります。

例:

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 に答える