繁体   English   中英

从两个不同的数组创建对象数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM