javascript - 如何正确使用 forEach 或拼接

标签 javascript arrays splice

考虑以下几点:

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

有一个 resultData 对象没有配置文件的实例。所以我试图删除它。然而它实际上并没有被删除,被删除的元素有一个配置文件......

对我做错了什么有什么想法吗?

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

splice 是想就地修改数组吗?它返回删除的元素数组。 那我做错了什么?

我想从配置文件 undefined object 数组中删除任何对象我认为这样做...

最佳答案

使用Array.prototype.filter直接过滤掉结果。这样,您就不会因为缺少索引而出现任何不一致,并且您的数组中不会有填充了 undefined 的插槽。

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

关于javascript - 如何正确使用 forEach 或拼接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33700528/

相关文章:

javascript - 在javascript中将数组中的项目移动到顶部

javascript - 如何将文本直接带到 extjs4 中的文本字段

java - 使用多线程对图像应用中值

arrays - 查找所有list1元素是否大于excel中的第二个列表

javascript拼接方法与返回混淆

javascript - 在material-ui v5中,您打算如何覆盖主题组件中不存在的属性样式

javascript - ReactJS 和类名

javascript - 对数组中的匹配元素进行分组

javascript - 为什么 splice 方法不起作用并在 TypeScript 中删除数组上的项目

javascript - 将项目返回到数组中