如何在 React 中更改数据

How to Change Data in React

我想创建从 DATA 到 OPTIONS 的数据。

const DATA = [
    { name: 'aaa', id: 'happy' },
    { name: 'bbb', id: 'time' },
    { name: 'ccc', id: 'party' },
  ];

const OPTIONS =[{value:'aaa', label:'aaa'},
                {value:'bbb', label:'bbb'},
                {value:'ccc', label:'ccc'},
               ]

我只需要数据中的名称值。 所以,使用名称值,我想创建选项。

Fuction Test(){

const DATA = [
    { name: 'aaa', id: 'happy' },
    { name: 'bbb', id: 'time' },
    { name: 'ccc', id: 'party' },
  ];

const OPTIONS =[{value:'aaa', label:'aaa'},
                {value:'bbb', label:'bbb'},
                {value:'ccc', label:'ccc'},
               ]
}
let newObject=[];

const createData = () => {
    const arr = selectMainId.data.map(data => data.name);
    arr.map(data => newObject.push({ value: data, label: data }));
    console.log('newObj:', newObject);
  };
console.log('newObj1:', newObject))

这种情况下,我可以获得 OPTIONS 个相同的数据。 所以,我可以在 createData 控制台中获取 newObject。 但我无法在测试控制台中获取 newObject。 我不知道这个问题。 你知道有效的方法吗? 请帮助我。

你只需要做

const createData = (data) => {
  return data.map(d => ({name: data.name, label: data.name}))
};

const option = createData(data)

map() 方法创建一个新数组,其中填充了对调用数组中的每个元素调用提供的函数的结果。

干净且最简单的方法:

const DATA = [
    { name: 'aaa', id: 'happy' },
    { name: 'bbb', id: 'time' },
    { name: 'ccc', id: 'party' },
];

const OPTIONS = DATA.map(x => ({value: x.name, label: x.name }));

console.log(OPTIONS);