在javascript中将字符串数组转换为Name / Value对象

时间:2011-05-20 16:02:07

标签: javascript jquery

我目前正在处理一个向客户端返回字符串数组的Web服务。从这里开始,我想获取这个字符串数组并将其转换为一个对象,该对象为每个字符串命名,以便稍后引用它。

首先从这开始:

var result = ["test", "hello", "goodbye"];

我想最终得到这个:

var final = [{'value': "test"}, {'value': "hello"}, {'value': "goodbye"}];

我使用jquery。有没有容易实现的目标?

4 个答案:

答案 0 :(得分:7)

var final = $.map(result, function(val) {
    return { value: val };
});

或者您可以使用ES5替代

var final result.map(function(val) {
    return { value: val };
});

或简单的迭代。

var final = [];
for (var i = 0, ii = result.length; i < ii; i++) {
    final.push({ value: result[i] });
}

答案 1 :(得分:4)

我不认为必须在这里使用jQuery。

var result = ["test", "hello", "goodbye"];
var final = [];
for(var i = 0; i < result.length; i++) {
    final.push({value: result[i]})
}

答案 2 :(得分:2)

我没有对此进行过测试,但您可以执行类似

的操作

$(result).map(function(){return {'value':this}});

答案 3 :(得分:2)

您可以执行以下操作:

var input = ["one", "two", "three"], 
    output = [],
    obj;

for (var i = 0; i < input.length; i++)
{
    obj = { "value" : input[i] };

    output.push(obj);

}

链接到fiddle