在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); }
链接到小提琴