设置JSON数组上的结果值
set result value on JSON Array
所以我有一个var data
的结果数组JSON值如下:
[
{"vehicle_id":"1", "model_name":"sedan"},
{"vehicle_id":"2", "model_name":"elf"},
{"vehicle_id":"3", "model_name":"truck"}
]
我想这样设置每个新变量的值:
var newdata = [
{
text: Obj.model_name
value: Obj.vehicle_id
},
{
text: Obj.model_name
value: Obj.vehicle_id
},
......
];
如何在上面的变量上设置每个值?
我已经试过这个方法了:
var newdata = [
$.each(data, function(index, Obj){
{
text: Obj.model_name
value: Obj.vehicle_id
}
})
];
但似乎不工作,谁能有最好的实践这种情况下
使用.map
:
var newData = data.map(function(obj) {
return {
text: obj.model_name,
value: obj.vehicle_id,
};
});
你的代码的问题是它没有做任何事情。虽然$.each
将迭代数组,但您的函数不会改变元素。它甚至不创建一个新对象,您只是创建一个带有两个标签的块。你可以把它想成等于
for (var i = 0; i < arr.length; i++) {
arr[i].model_name;
arr[i].vehicle_id;
}
。您只是引用属性,但没有对这些值做任何事情。
就用map()
:
var newData = data.map(function(item) {
return {
text: item.model_name,
value: item.vehicle_id
};
});
看到MDN
使用'map'代替'each'。或者使用'$。每个都像这样:
var newdata = [];
$.each(data, function(index, Obj){
newdata.push({
text: Obj.model_name,
value: Obj.vehicle_id
})
});
相关文章:
- JSON.stringify和Object.keys在同一个对象上产生不同的结果
- 对于每个json结果,使用类jquery添加css
- 从JSON API结果迭代时未定义
- 在Ionic'中显示JSON结果;s系列重复
- 无法将JSON.parse与JSON_encode中的结果一起使用
- 如何将JSON结果设置为'src'共'img'以在ASP.NET MVC4中显示图像
- json-api和错误结果:无法读取属性'长度'的未定义
- JSON返回数组的奇怪结果
- 获取json结果的身份验证问题
- Neo4j结果(JSON格式)创建D3树图
- 无法在AJAX成功访问中显示JSON结果
- 返回带有筛选结果的新JSON对象
- (临时)在Web应用程序中存储JSON搜索结果
- 迭代 JSON 文件并且未在 Javascript 中正确返回结果
- 意外结果,在 ASP.Net 中解析 JSON 对象的数组
- jquery jqgrid 不显示结果,具体取决于 JSON 对象中的参数
- 从Node.js上的mysql结果JSON中获取一个Array值
- 搜索框结果 == JSON 结果
- 正在从自动完成结果Json中删除重复项
- 如何合并两个facebook图api数据结果(JSON)