javascript - 将数组中所有对象的单个字段复制到单个数组中

标签 javascript arrays object

我想优化我的代码,删除 for 循环

    groupFieldNames = [];
    for (i = 0; i < data.length; i++) {
        groupFieldNames.push(data[i].groupFieldName);
    }

data 是一个对象数组,每个对象都有 4 个字段。

enter image description here

我对标识为 groupFieldName 的字段感兴趣。

有没有办法避免循环,直接压入数组中的字段?

编辑:

我采纳了 @Yosvel Quintero 的建议(对于所有建议 map 解决方案的人,他是第一个),并检查了性能。 对于具有约 60k 对象的数据数组,我得到了:

  • 使用 map 需要 3 毫秒;
  • 使用for循环11ms

不错。

最佳答案

您可以使用Array.prototype.map()

const groupFieldNames = [];
for (i = 0; i < data.length; i++) {
    groupFieldNames.push(data[i].groupFieldName);
}

致:

const groupFieldNames = data.map(o => o.groupFieldName);

关于javascript - 将数组中所有对象的单个字段复制到单个数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902504/

相关文章:

javascript - Text.splitText 会不好吗?

javascript - TypeScript 类工厂需要一个交集

C弦长

c# - 如何在 C# 中将光标导航到我的二维数组中?

C#:带有构造函数参数的对象数组

javascript - Naver jquery 插件不允许点击菜单中的链接

javascript - 具有多个实例的 jQuery 插件数据混合

javascript - 如何在 Javascript 中检查输入单词与多个数组

ruby-on-rails - 找不到 InfosController 的操作 'update'

mysql - Laravel DB 查询数组