考虑以下:

  resultData.forEach(function(data) {
    if (data.profile === undefined) {
      resultData.splice(data, 1);
    }
  });


在某些情况下,resultData对象之一没有配置文件。因此,我尝试将其删除。但是实际上并没有被删除,被删除的元素有一个配置文件...

关于我在做什么错的任何想法吗?

当我console.log(resultData)看到对象时,特别是那些没有配置文件的对象。

splice是否要在适当的位置修改数组?它返回删除的元素数组。那我在做什么错?

我想从配置文件未定义的对象数组中删除任何对象,我以为是这样做的...

最佳答案

使用Array.prototype.filter直接过滤出结果。这样,由于缺少索引,您将不会有任何不一致的地方,并且阵列中的插槽也不会被undefined填充。

resultData = resultData.filter(function(data) {
    return data.profile !== undefined;
});

09-25 19:41