对象和数组通过映射函数合并
Object and array merge by map function
我有一个小问题,我想通过映射函数合并Object和数组。我的代码是:
var headers = [{
"name": "Date",
"dtype": "date",
"dtitle": "Inserta date"
}, {
"name": "Patient",
"dtype": "text",
"dtitle": "Insert patient name"
}
];
var rows = [
[1, 2],
[3, 4],
[5, 6]
];
var c = 0;
var item = [];
var items = [];
rows.map(function(v) {
v.map(function(a) {
h = headers[c];
h.value = a;
item.push(h);
c++;
});
items.push(item);
c = 0;
});
console.log(items);
最后,我总是从行数组中得到重复的最后一条记录。我不知道我在哪里犯了错误。我尝试使用_ each和for循环,但总是得到相同的结果。
我想收到这个结果,例如:
result = [
[
{
"name":"Date",
"dtype":"date",
"dtitle":"Inserta date",
"value":1
},
{
"name":"Patient",
"dtype":"text",
"dtitle":"Insert patient name",
"value":2
}
],
[
{
"name":"Date",
"dtype":"date",
"dtitle":"Inserta date",
"value":3
},
{
"name":"Patient",
"dtype":"text",
"dtitle":"Insert patient name",
"value":4
}
]];
h = headers[c];
将为您提供对headers
数组中某个对象的引用。您更改它,并将引用放入结果中;所有的Date
对象实际上都是同一个对象(您可以验证headers
现在在Date
对象中也包含value: 5
)。Patient
对象也是如此。
您需要克隆对象,而不是引用,类似于h = clone(headers[c]);
。
相关文章:
- 如何运行对象映射函数
- 将3个函数合并在一起
- 将多个jquery函数合并为一个
- 角度和内置的javascript映射函数
- 将两个云代码函数合并为一个函数
- 将值传递给映射函数-CouchDB
- 接受多个数组作为参数的javascript映射函数
- CouchDB-映射函数中的变量
- 如何使用数组和映射函数构建 JavaScript 对象
- 任何转换对象*值*的Javascript或Coffeescript“映射”函数
- 映射函数反应中的错误
- 如何获取要在 lodash 映射函数中用作变量的键
- 是否可以通过添加新参数而不使用 eval 将所有这三个函数合并为一个函数
- JavaScript 数组映射函数不会更改字符串中的元素
- 如果在映射函数中 reactjs 元素的内部循环
- 如何将这些函数合并为具有属性的单个函数
- 带有拼接的javascript中的映射函数
- 在 jQuery 中将 2 个函数合并为一个
- 是否可以将映射集合名称的名称作为MongoDB映射函数中键的一部分
- 对象和数组通过映射函数合并