![](/img/trans.png)
[英]select data from two different arrays of objects to create a new array of objects
[英]Create an array of objects from two different arrays
我必须使用不同的数组。 例如:
数组1为:
[536, 549]
数组2为:
[
{ text: "ABCD", value: 341 },
{ text: "WXYZ", value: 439 }
]
我想创建一个对象为:
[
{
fieldId: 536,
value: {
value: 341,
display_value: "ABCD"
}
},
{
fieldId: 549,
value: {
value: 439,
display_value: "WXYZ"
}
}
]
我不知道该怎么做。 提前致谢。 :)
const arr_1 = [536, 549]
const arr_2 = [{text: "ABCD", value: 341},{text: "WXYZ", value: 439}]
// with map
let new_arr = arr_2.map( (ele, index) => {
return {
fieldID: arr_1[index],
value: { value: ele.value, display_value: ele.text }
};
});
// with for loop
let new_arr2 = [];
for(let i = 0; i < arr_2.length; i++){
new_arr2.append({
fieldID: arr_1[i],
value: { value: arr_1[i].value, display_value: arr_1[i].text }
});
}
map()的文档: https : //developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/map
数组文档: https : //developer.mozilla.org/zh-CN/docs/Glossary/array
对象的文档: https : //developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Object
不知道是否需要将数字作为字符串。 您将必须使用toString()
。 也不确定最后是否应该是json字符串,要使用JSON.stringify()
const arr1 = [ 536, 549 ];
const arr2 = [
{ text: "ABCD", value: 341 },
{ text: "WXYZ", value: 439 }
];
const result = arr1.map((value, index) => ({
fieldId: value,
value: {
display_value: arr2[index].text,
value: arr2[index].value
}
}));
在这里, result
将保持所需的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.