JS - 如何使这个对象由数组动态填充?
JS - How do I make this object filled dynamically by an array?
我在以下方面需要帮助:我正在使用 material-table 并且它的列采用参数“lookup”,这是一个具有值的对象。它用于在行内过滤和启用多选。问题是,我能找到的所有示例都是硬编码的,我无法找到动态填充的查找对象。现在我的问题是;如何使用数组中的值填充查找对象:
const [columns, setColumns] = useState([
{
title: 'Birth Place',
field: 'birthCity',
lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' },
},
]);
我需要这样的对象:
{"PUE-200":"PUE-200", "PUE-201":"PUE-202" etc.}
我需要从中提取数据的数组如下:
0:{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
}
1:{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}
会感谢任何帮助:)
据我所知,这就是您所需要的。
const arr = [{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
},
{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}]
const lookup = arr.reduce((accumulator,currentValue)=>{
return {...accumulator, [currentValue.ProjektNr]: currentValue.ProjektBeschreibung },{})
使用 ProjektNr
属性 将对象数组映射到键值对数组,然后使用 Object.fromEntries.
转换回对象
const data = [
{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
},
{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}
];
const newMap = Object.fromEntries(data.map(el => [el.ProjektNr, el.ProjektNr]));
console.log(newMap);
我在以下方面需要帮助:我正在使用 material-table 并且它的列采用参数“lookup”,这是一个具有值的对象。它用于在行内过滤和启用多选。问题是,我能找到的所有示例都是硬编码的,我无法找到动态填充的查找对象。现在我的问题是;如何使用数组中的值填充查找对象:
const [columns, setColumns] = useState([
{
title: 'Birth Place',
field: 'birthCity',
lookup: { 34: 'İstanbul', 63: 'Şanlıurfa' },
},
]);
我需要这样的对象:
{"PUE-200":"PUE-200", "PUE-201":"PUE-202" etc.}
我需要从中提取数据的数组如下:
0:{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
}
1:{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}
会感谢任何帮助:)
据我所知,这就是您所需要的。
const arr = [{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
},
{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}]
const lookup = arr.reduce((accumulator,currentValue)=>{
return {...accumulator, [currentValue.ProjektNr]: currentValue.ProjektBeschreibung },{})
使用 ProjektNr
属性 将对象数组映射到键值对数组,然后使用 Object.fromEntries.
const data = [
{
"ProjektNr": "PUE-200",
"ProjektBeschreibung": "aa"
},
{
"ProjektNr": "PUE-201",
"ProjektBeschreibung": "aa"
}
];
const newMap = Object.fromEntries(data.map(el => [el.ProjektNr, el.ProjektNr]));
console.log(newMap);