我目前正在处理一个向客户端返回字符串数组的Web服务。从这里开始,我想获取这个字符串数组并将其转换为一个对象,该对象为每个字符串命名,以便稍后引用它。
首先从这开始:
var result = ["test", "hello", "goodbye"];
我想最终得到这个:
var final = [{'value': "test"}, {'value': "hello"}, {'value': "goodbye"}];
我使用jquery。有没有容易实现的目标?
答案 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