JavaScript:添加&从数组中删除对象

时间:2014-01-23 12:28:52

标签: javascript jquery arrays

var layers = {};

//Add new layer
layer.markers = new L.Group();
layer.Name = t;

layers.layer = layer;

给出错误layers.length仍然是'undefined'。它为什么这样做?我在日志中验证了图层包含一个项目。

3 个答案:

答案 0 :(得分:1)

layers不是数组。如果你想把它保存为对象文字,并检查它是否为空,请尝试定义如下内容:

Object.isEmpty = function(obj) {
    for (var p in obj)
        if (obj.hasOwnProperty(p)) return false;
    return true;
};

并使用

if (!Object.isEmpty(layers)) { ...

代替。

答案 1 :(得分:0)

您没有添加到阵列。最后一行应该是:

layers.push(layer);

答案 2 :(得分:0)

简单的问题。 图层是一个对象而非数组

您需要做的是将图层替换为以下内容。

var layers = new Array();

并替换

中的添加图层代码
layers.layer = layer;

layers.push(layer);