将对象推入JavaScript中的数组 [英] Push object into an array in javascript

查看:57
本文介绍了将对象推入JavaScript中的数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对象没有插入数组.

  groupEventsArray=[]
  groupEvents=(eventOnDate)=>{
    for(i=0;i<eventOnDate.events.length;i++){
      for(j=0;j<eventOnDate.events.length;j++){
        if(eventOnDate.events[i].start==eventOnDate.events[j].start)
        this.groupEventsArray.push(eventsOnDate.events[i])
      }
    }
    console.log(JSON.stringify(this.groupEventsArray))
  }

没有错误出现,但是我认为它陷入了无限循环.任何帮助将不胜感激

No error is coming but I think it is stucked in infinite loop. Any help will be appreciated

推荐答案

按关键问题听起来像基本组数组.您可以通过以下方式进行操作:

Sounds like a basic group array by key question. You could do it in the following way:

const data = {
  fullDate: '2018-10-26T09:30:00.000Z',
  events: [
    {
      eventId: '43460',
      start: '1540525500',
    },
    {
      eventId: '43461',
      start: '1540525500',
    },
    {
      eventId: '43462',
      start: '1540525500',
    },
    {
      eventId: '43463',
      start: '1540525510',
    },
  ],
};

const createKey = (t) => t.start;
console.log(
  Object.values(
    data.events
      .map((o) => [o, createKey(o)])
      .reduce((result, [item, key]) => {
        result[key] = result[key] || [];
        result[key].push(item);
        return result;
      }, {}),
  ),
);

但是问题可能是这个(查找不使用lodash的答案)

But the question is probably a duplicate of this one (look for answers not using lodash)

这篇关于将对象推入JavaScript中的数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆