如何将值和键的数组推入JavaScript对象?

Fizzix

我有一个很大的Javascript对象,该部分的空白是空白的,可以随时向其中动态添加数据。出于这个问题的目的,我删除了对象的不必要部分。

这是我的对象:

var simplemaps_worldmap_mapdata = {
    locations:{ 

    }
}

这是我向对象中插入数据的尝试:

var mainObj = simplemaps_worldmap_mapdata;
var newObj = [];

newObj.push({
    name: 'newName',
    lat: 'newLat',
    lng: 'newLong',
    color: 'newColor',
    description: 'newDesc',
    url: 'newUrl',
    size: 'newSize',
    type: 'newType',
    opacity: 'newOpacity'
});

mainObj.locations.push(newObj);

在这里演示

为什么不能将数据动态添加到对象?


编辑:

这是locations一个条目外观的示例

locations:{ 
        0: { 
            name: 'newName',
            lat: 'newLat',
            lng: 'newLong',
            color: 'newColor',
            description: 'newDesc',
            url: 'newUrl',
            size: 'newSize',
            type: 'newType',
            opacity: 'newOpacity'
        },
    },
好吧

如果可以更改JSON,最好将location属性更改为数组

JSON结构

var simplemaps_worldmap_mapdata = {
    locations: []
};

var mainObj = simplemaps_worldmap_mapdata;
var newObj = {
    name: 'newName',
    lat: 'newLat',
    lng: 'newLong',
    color: 'newColor',
    description: 'newDesc',
    url: 'newUrl',
    size: 'newSize',
    type: 'newType',
    opacity: 'newOpacity'
};

mainObj.locations.push(newObj);

JSFiddle

更新资料

希望这能解决您的问题

JSON结构

var simplemaps_worldmap_mapdata = {
    locations: {}
};

var mainObj = simplemaps_worldmap_mapdata;
var newObj = {
    name: 'newName',
    lat: 'newLat',
    lng: 'newLong',
    color: 'newColor',
    description: 'newDesc',
    url: 'newUrl',
    size: 'newSize',
    type: 'newType',
    opacity: 'newOpacity'
};

//Code to find no of keys
if (!Object.keys) {
    Object.keys = function (obj) {
        var keys = [],
            k;
        for (k in obj) {
            if (Object.prototype.hasOwnProperty.call(obj, k)) {
                keys.push(k);
            }
        }
        return keys;
    };
}

var len = Object.keys(mainObj.locations).length;

mainObj.locations[len]= newObj;

结果

{
    "locations": {
        "0": {
            "name": "newName",
            "lat": "newLat",
            "lng": "newLong",
            "color": "newColor",
            "description": "newDesc",
            "url": "newUrl",
            "size": "newSize",
            "type": "newType",
            "opacity": "newOpacity"
        }
    }
}

JSFiddle

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将多个键和值推入php数组?

来自分类Dev

如何将键/值推入JSON对象

来自分类Dev

如何将值推入多维数组(RUBY)

来自分类Dev

如何将对象推入JavaScript原型内部的数组中?

来自分类Dev

jQuery将键和值推入数组

来自分类Dev

如何将javascript对象转置为键/值数组

来自分类Dev

如何将数组推入对象

来自分类Dev

如何将键数组和值数组合并到一个对象中?

来自分类Dev

如何将项目推入useState数组中的对象数组?

来自分类Dev

如何将值推入对象内部的数组

来自分类Dev

如何将值正确推入对象数组

来自分类Dev

JavaScript如何将对象数组中的值转换为数组,以便每个子数组将键中的值分组?

来自分类Dev

如何将项目推入数组中对象的数组中

来自分类Dev

如何将多个值从表单输入推入mongoose.model中的对象数组?

来自分类Dev

如何将对象键和值推入数组

来自分类Dev

如何将键和值推入数组并构建动态查询?

来自分类Dev

如何将返回的值推入数组mongodb中?

来自分类Dev

遍历对象并将键和值推入数组

来自分类Dev

如何将多个键和值推入php数组?

来自分类Dev

将键和值推入关联数组

来自分类Dev

将键/值对推入数组

来自分类Dev

如何将元素属性值推入javascript数组?

来自分类Dev

如何将数组推入Javascript数组中?

来自分类Dev

将值推入对象数组

来自分类Dev

如何将值推入数组

来自分类Dev

如何将值推入全局声明的数组中

来自分类Dev

如何将选择选项推入对象数组

来自分类Dev

angular 2 如何将多个对象推入数组?

来自分类Dev

如何将键和值存储到数组存储?