首页 > 解决方案 > 数组的动态对象键

问题描述

我有一组带有动态国家键的对象。我需要获取国家/地区密钥并将其放入一个新数组中。该数组可以包含更多带有国家名称的动态键。

const arr1 = [
  {
    id: 1,
    label: 'CA',
    value: 9,
    Canada: 9,
  },
  {
    id: 2,
    label: 'US',
    value: 7,
    'United States': 7,
  },
  {
    id: 3,
    label: 'AU',
    value: 5,
    Australia: 5,
  },
];
const result = ['Canada', United States', 'Australia']

标签: javascript

解决方案


您可以使用黑名单来转储您不想要的所有密钥:

const arr1 = [
    { id: 1, label: 'CA', value: 9, Canada: 9 },
    { id: 2, label: 'US', value: 7, 'United States': 7 },
    { id: 3, label: 'AU', value: 5, Australia: 5 },
];

const blacklist = ['id', 'label', 'value'];

const countryNames = arr1.map(row => 
    Object.keys(row)
        .filter(key => !blacklist.includes(key))[0]);

console.log(countryNames)

Object.keys为该行构建一个键数组,然后我在黑名单上过滤这些键,并返回第一个剩余条目。


推荐阅读