【问题标题】:How can I store the attributes of objects of an array in array?如何将数组对象的属性存储在数组中?
【发布时间】:2018-06-04 11:03:07
【问题描述】:

我有想要存储在数组中的数组对象的属性。以下是我的数据。

我想要实现的是将displays name 属性存储在opt[] 中,所以它看起来像这样opt = ['info1', 'info2', 'info3', ... ]

getEditData (id) {

            axios.get('/api/campaign/getEdit/' + id)
                .then(response =>{
                    this.campaign = response.data.campaign;
                })
                .catch(e=>{
                    console.log(e.data);
                    this.error = e.data
                })
        }

sn-p 上面是活动对象的来源

【问题讨论】:

  • 粘贴生成您在此处显示的转储的 PHP 代码。
  • 你想要嵌套在displays下的键还是值?
  • 我想要@EatPeanutButter 的值
  • 我已经粘贴了来源@Kyslik

标签: javascript arrays laravel vue.js


【解决方案1】:

这将显示一个数组,其中包含displays 数组中每个对象的属性名称

    var data = {
      displays: [
        {
          capacity: 9000,
          id: 1,
          imei: 44596
        }
      ]
    };
    data.displays.forEach(function(obj, idx) {
      console.log(Object.keys(obj));
    });

Object.keys() 是你所需要的

【讨论】:

  • 我需要的是值,而不是键@Sébastien
  • 显示数组有多个对象。这个 sn-p 会循环遍历对象吗?
  • 是的,这就是forEach() 的用途,它循环遍历数组的每个元素。
【解决方案2】:

你可以使用这个表达式:

campaigns.displays.map( ({name}) => name );

const campaigns = { displays: [{ name: 'info1'}, { name: 'info2'}] };

const result = campaigns.displays.map( ({name}) => name );

console.log(result);

【讨论】:

  • 非常简洁+1
猜你喜欢
  • 1970-01-01
  • 2021-03-11
  • 2020-09-02
  • 1970-01-01
  • 2019-09-02
  • 2020-01-10
  • 1970-01-01
  • 2011-11-11
相关资源
最近更新 更多