#javascript #reactjs
#javascript #reactjs
Вопрос:
Я создал два выпадающих списка и получаю исходные данные. Здесь я хочу отобразить список веб-сайтов и магазинов в виде выпадающего списка.
[
{
store: [],
website: "storeuiteam",
},
{
store: ["MSP_BASE"],
website: "base",
},
]
Я хочу вариант, подобный:
const tableDropdownOptions = [
{ value: "website1", label: "website1" },
{ value: "website2", label: "website2" },
];
Комментарии:
1. const tableDropdownOptions = [{значение: «website1», метка: «website1»},{значение: «website2», метка: «website2»}]
2. Не могли бы вы показать нам, что вы уже сделали, и мы постараемся направить вас на правильный путь?
3. пусть WebData=[ { «store»: [], «website»: «storeuiteam» }, { «store»: [ «MSP_BASE» ], «website»: «base» } ] пусть response = []; WebData.map((значение, индекс)=>{ ответ.push({ «ключ»: значение. веб-сайт, «значение»: значение. веб-сайт, }) });
4. вам не нужно
arr.push()
внутриarr.map(fn)
,arr.map()
вернет новый массив.const res = [1, 2, 3].map(v => v * 2); // res [2, 4, 6]
Ответ №1:
Это то, что вам нужно? Это в значительной степени совпадает с вашим комментарием без учета количества.
const response = [{
"store": [],
"website": "storeuiteam"
}, {
"store": ["MSP_BASE"],
"website": "base"
}]
const options = response.map(item => ({ key: item.website, value: item.website }));
console.log(options)
Редактировать
Вот фрагмент, который возвращает точно ожидаемый результат
const response = [{
"store": [],
"website": "storeuiteam"
}, {
"store": ["MSP_BASE"],
"website": "base"
}]
const options = response.map((_, index) => ({ key: `website${index 1}`, value: `website${index 1}` }));
console.log(options)
Комментарии:
1. 0: {ключ: «storeuiteam», значение: «storeuiteam»} 1: {ключ: «база», значение: «база»} это ваш результат
2. const tableDropdownOptions = [{значение: «website1», метка: «website1»},{значение: «website2», метка: «website2»}]
3. То есть вам просто нужна строка
website
с номером?4. @LavGupta, я отредактировал ответ, чтобы включить предоставленные вами выходные данные