javascript - 下面的 React 代码有什么区别?哪一种是最有效率或最有效的?或者它们实际上是相同的吗?

标签 javascript arrays reactjs object ecmascript-6

我目前正在进行一个项目,并提出了两组不同的代码,想知道两者之间是否存在差异。

ReactJS(最新版本)

1.

columns.map(v => v.aggregate = (values) => values[0]);

2.

columns = columns.map( v => ({ 
            ...v,
            aggregate : (values) => values[0]
        }))

预期结果:

const columns = [
    {
        Header: 'ID',
        accessor: 'empid',
        shown: true,
        width: 130
    }, {
        Header: 'Name',
        accessor: 'name',
        shown: true,
        aggregate: (values) => values[0],
        width: 130
    }, {
        Header: 'Age',
        accessor: 'age',
        shown: true,
        aggregate: (values) => values[0],
    }, {
        Header: 'Email',
        accessor: 'email',
        shown: true,
        aggregate: (values) => values[0],
        width: 150
    },  {
        Header: 'Birthday',
        accessor: 'birthday',
        shown: true,
        aggregate: (values) => values[0],
        width: 150
    }
];

我将通过 id 将其添加到带有聚合枢轴的 ReactTable 组件中。

最佳答案

在第一个示例中,您直接改变每个对象。在第二个示例中,您首先使用扩展运算符,因此您首先浅层复制每个对象,而不是直接改变它。

关于javascript - 下面的 React 代码有什么区别?哪一种是最有效率或最有效的?或者它们实际上是相同的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56768445/

相关文章:

c++ - 如何使用 deleteEntry 函数删除数组中的单个字符串 C++

php - 使用AJAX基于数组从数据库中删除数据

ios - 如果使用 npm 安装,则在 NativeModules 中找不到 react native 模块

javascript - 如何将 Chosen 合并到我的 React 项目中?

android - 如果恢复初始生命周期状态,则需要设置 Activity

javascript - JQuery UI - 将 Draggable 附加到 Droppable

javascript - jQuery each() 延迟

javascript - 使用与 Lodash 的差异

javascript - forEach 循环在 li 标签内的 div 中插入名称

Javascript 新日期对不同日期样式的处理方式不同?