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

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

所以从这开始:

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

我想最终得到这个:

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

我用jquery。 这有什么容易实现的吗?

 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] }); } 

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

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

我没有测试过这个,但你可以做类似的事情

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

您可以执行以下操作:

 var input = ["one", "two", "three"], output = [], obj; for (var i = 0; i < input.length; i++) { obj = { "value" : input[i] }; output.push(obj); } 

链接到小提琴