JavaScript:如何更改数组中对象的属性名称?

标签 javascript reactjs react-select

我正在使用这个react-select:https://github.com/JedWatson/react-select

他们需要的选项数据的格式是:

const options = [
    { value: 'chocolate', label: 'Chocolate' },
    { value: 'strawberry', label: 'Strawberry'},
    { value: 'vanilla', label: 'Vanilla' }
];

我的阵列设置不同,如下:

const columns = [
    { name: 'OrderNumber', title: 'Order Number' },
    { name: 'strawberry', title: 'Strawberry' },
    { name: 'vanilla', title: 'Vanilla' }
]

我无法更改我的数组。如果尝试在我的选项项中使用 namevalue,我会在 select-react 中使用它们时遇到问题。如果我将名称更改为,则选择选项将会填充,但我不想这样做。

谁能教我如何将数组的名称更改为

最佳答案

您可以使用.map()函数使中的数据适合与react-select一起使用。

.map() 函数可用于 Array 类型。它从您调用它的数组创建一个新数组,并允许您提供一个函数,在从原始数组复制每个项目时转换/更改每个项目。

您可以按如下方式使用它:

const columns = [
    { name: 'OrderNumber', title: 'Order Number' },
    { name: 'strawberry', title: 'Strawberry' },
    { name: 'vanilla', title: 'Vanilla' }
]

const options = columns.map(function(row) {

   // This function defines the "mapping behaviour". name and title 
   // data from each "row" from your columns array is mapped to a 
   // corresponding item in the new "options" array

   return { value : row.name, label : row.title }
})

/*
options will now contain this:
[
    { value: 'OrderNumber', label: 'Order Number' },
    { value: 'strawberry', label: 'Strawberry' },
    { value: 'vanilla', label: 'Vanilla' }
];
*/

欲了解更多信息,see the MDN documentation for .map()

关于JavaScript:如何更改数组中对象的属性名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52106582/

相关文章:

javascript - $scope.$apply 会降低性能

javascript - react Hook 形式 setValue 返回未定义的多选( react 选择)

javascript - react 选择选项未正确显示

reactjs - 用图像填充 react 选择

javascript - (初学者javascript)获取多个文本文件xml请求

JavaScript 检查页面是否包含表单

javascript - Meteor可以在不依赖外部服务的情况下运行吗?

javascript - 如何从数组中的名称调用对象

node.js - 如何在同一个 Heroku 应用程序上部署前端和后端 Node.js?

javascript - 如何在项目内的其他js文件中调用一个react组件的函数