考虑以下几点:
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/