Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新排列JavaScript字符串组件_Javascript - Fatal编程技术网

重新排列JavaScript字符串组件

重新排列JavaScript字符串组件,javascript,Javascript,我是否可以编写一个函数,该函数接收由数字或“对”组成的字符串,用“|”字符分隔,并生成如下所示的对象?每对都有两个组件,内部用逗号分隔 例如: objectify("a,dog|b,cat|z,rat") --> {a: "dog", b: "cat", z: "rat"} objectify("one,uno|two,dos") --> {one: "uno", two: "dos"} 谢谢 函数对象化(str){ function objectify(str) {

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

例如:

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

函数对象化(str){
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;
}
var obj={}, arr=str.split(“|”); 对于(i=0;i

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

函数objectify(str){
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;
}
var pairs=str.split(“|”), res={};
对于(var i=0;iYes),您可以。只要尝试一下,然后搜索您不知道如何做的部分的答案。这就是为什么人们认为StackOverflow是一种代码编写服务。为什么您使用
新对象()
而不是
{}
?想解释一下吗?@iAtelazy-如果我使用新对象有关系吗?如果有,为什么?我在问你,我不是那个抱怨的人?我在问你一个问题。