Javascript mapping
Javascript mapping
本文关键字:mapping Javascript 更新时间:2023-09-26
在我们的项目中,我们以以下格式从DB获取以下数据。
[
[
"ClearDB",
"test1@test.com",
"com.test.cleardb"
],
[
"Cricbuzz",
"test2@test.com",
"com.test.cricbuzz"
],
[
"Hangout",
"test3@test.com",
"com.test.hangout"
]
]
我想要如下所述的键值格式
[
{
"projname": "ClearDB",
"projmanager": "test1@test.com",
"package": "com.test.cleardb"
},
{
"projname": "Cricbuzz",
"projmanager": "test2@test.com",
"package": "com.test.cricbuzz"
},
{
"projname": "Hangout",
"projmanager": "test3@test.com",
"package": "com.test.hangout"
}
]
请为我提供实现此目的的正确方法。
您可以简单地为每个数组创建一个新对象,并使用map
函数创建一个对象数组,如下所示
var keys = ["projname", "projmanager", "package"];
console.log(data.map(function (arr) {
var obj = {};
keys.forEach(function (key, idx) { obj[key] = arr[idx]; });
return obj;
}));
输出
[ { projname: 'ClearDB',
projmanager: 'test1@test.com',
package: 'com.test.cleardb' },
{ projname: 'Cricbuzz',
projmanager: 'test2@test.com',
package: 'com.test.cricbuzz' },
{ projname: 'Hangout',
projmanager: 'test3@test.com',
package: 'com.test.hangout' } ]
with Array.prototype.map
:
var results = db.map(function (v) {
return {
projname: v[0],
projmanager: v[1],
package: v[2]
};
});
假设您从数据库获取的数据存储在变量 'abc' 中
var abc = [];
var output = [];
for(var i = 0; i< abc.length; i++){
output[i] = {};
output[i].projname = abc[i][0];
output[i].projmanager = abc[i][1];
output[i].package = abc[i][2];
}
注意:"abc"是您存储数据库中数据的变量。
在 ES6 中:
input . map(([projname, projmanager, package]) => ({projname, projmanager, package}));
[]
中的部分解构参数map
,这是子数组之一,将第一个元素分配给projname
,依此类推。{}
中的部分创建并返回一个键为 'projname'
的对象,其值为 projname
等。
如果要将其概括为使用任何字段名称数组 ( ['projname', 'projmanager', 'package']
(:
input . map(
values =>
values . reduce(
(result, value, i) => {
result[fieldnames[i]] = value;
return result;
},
{}
)
);
如果
var array =[
[
"ClearDB",
"test1@test.com",
"com.test.cleardb"
],
[
"Cricbuzz",
"test2@test.com",
"com.test.cricbuzz"
],
[
"Hangout",
"test3@test.com",
"com.test.hangout"
]
];
然后
var obj = [];
array.each(function(item){ obj.push({"projname": item[0],
"projmanager":item[1],
"package": item[2]})
});
编辑:
使用 Jquery
var obj = [];
$.each(array,function(key,value){ obj.push({"projname": value[0],
"projmanager":value[1],
"package": value[2]})
});
使用JavaScript
var obj = [];
array.forEach(function(item){ obj.push({"projname": item[0],
"projmanager":item[1],
"package": item[2]})
});
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 这是什么 ==- javascript 运算符
- 从javascript创建一个列表
- 无法在通过jQuery的ajax加载的页面中执行javascript
- Javascript:selenium Web驱动程序isDisplayed()不工作
- 如何通过ajax刷新JSF填充的javascript变量
- 如何在Javascript中将JSon对象转换为数组
- Javascript生成的表单未提交
- 如何使用 ko.mapping - Knockout 更新 Javascript 对象中的属性
- Javascript mapping