如何从Javascript中的现有对象创建新对象?

罗希特

正在使用JavaScript应用,需要帮助来从ajax调用接收到的响应创建新对象。

收到的输出是对象数组,示例格式如下:

{
  "items": [
    {
      "id": "02egnc0eo7qk53e9nh7igq6d48",
      "summary": "Learn to swim",
      "start": {
        "dateTime": "2017-03-04T19:00:00+05:30"
      }
    }        

]
}

但是,我的组件希望JS Object采用以下格式:

{
id: "e1",
title: "Express",
start: "Jan 13, 2010",
description: "Jan 13, 2010"
}

遵循的方法正确吗,请提出更好的方法

var content = {
    "items": [{
        "id": "02egnc0eo7qk53e9nh7igq6d48",
        "summary": "Learn to code",
        "start": {
          "dateTime": "2017-03-04T19:00:00+05:30"
        }
      }
      }
    };
    var gcalEvents = {};
    var jsonObj = {
      "id": "e1",
      "title": "Oracle Application Express",
      "start": "Jan 13, 2010",
      "description": "Jan 13, 2010"
    };

    console.log(content.items.length);
    for (var index = 0; index < content.items.length; index++) {
      var obj = content.items;
      console.log(obj);

      jsonObj.id = obj[index]["id"];
      jsonObj.title = obj[index].summary;
      jsonObj.start = obj[index].start.dateTime;
      jsonObj.description = "";
      console.log(jsonObj);
      gcalEvents[index] = jsonObj;
    }
    console.log(gcalEvents);

亚历克斯·琼斯

您可以采用以下更实用的方法:

var parsed = content.items.map(function (item) {
    return {
        id: item.id,
        title: item.summary,
        start: item.start.dateTime,
        description: item.start.dateTime
    }
})

这将使用数组赋予的map方法来遍历数组的每个项目并返回一个新的已解析对象数组。

看一下这个更完整的例子

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用javascript从现有对象中创建新对象

如何创建一个新对象继承 JavaScript 中的现有对象?

如何从现有对象列表创建新的对象列表?

如何使用 lodash 从现有对象创建特定的新对象

使用javascript从现有对象创建对象

如何从现有值创建一个新对象?

如何对特定值进行排序并从现有的 PHP 中创建新的数组对象?

从现有对象数组创建新数组

根据现有对象有效地创建新的JavaScript对象

在现有对象中添加javascript对象

如何将新属性映射到 JavaScript 对象数组中的现有属性

如何使用JavaScript在现有JSON对象中添加新的键值对?

尝试使用 javascript 从三个现有对象创建一个新对象

如何部分更新MongoDB中的对象,以便新对象将与现有对象重叠/合并

POST 到 TestUpdateView 更新现有对象并创建新对象

从现有数组和对象创建新对象

NSEntityMigrationPolicy创建新对象,而不是更改现有对象

创建新对象与覆盖现有对象(性能)

基于不重复的现有对象创建新的对象数组

jq-根据现有对象创建新对象

通过修改现有对象来创建新对象

在vector中使用现有对象;如果C ++中不存在,则创建新对象

使用lambda从2个现有对象创建新对象,对ArrayList字段中各种对象的各种值求和

从现有对象数组创建JavaScript对象数组

如何将现有对象修改为新对象

如何在不删除现有对象的情况下将新对象存储在arraylist中

如何使用Hibernate与现有对象创建复合键对象

如何从两个现有对象正确创建对象

根据TypeScript中的现有对象创建TypeSafe对象文字