JavaScript 中的集合迭代结束时出现未定义错误

Getting Undefined error at the end of sets Iteration in JavaScript

我在记录集合的每个元素后收到未定义的错误。 请查看下面的代码片段

  let arrayFruits = ['apple', 'banana', 'orange', 'plum', 'peach', 'strawberry', 'raspberry'];

const fruits = new Set(arrayFruits);

const itrate = fruits.forEach(fruit =>{
    console.log(fruit);

});

console.log(itrate);

forEach 没有任何 return 值。即使您从迭代中删除 console.log(fruit),Undefined 也会作为迭代的一部分打印出来,您仍然会在控制台中看到 undefined 打印。

您可能需要什么

let arrayFruits = ['apple', 'banana', 'orange', 'plum', 'peach', 'strawberry', 'raspberry'];
    
const fruits = new Set(arrayFruits);
    
let itrate = []
fruits.forEach(fruit =>{
  itrate.push(fruit)
});
            
console.log(itrate);

请在提问时提及您的用例。

根据文档,forEach return未定义。

console.log 也未定义,因为它没有明确 return 任何东西。

您基本上可以像这样编写您的函数以更好地理解它。

let arrayFruits = ['apple', 'banana', 'orange', 'plum', 'peach', 'strawberry', 'raspberry'];

const fruits = new Set(arrayFruits);

fruits.forEach(fruit =>{
    console.log(fruit);
});

这将打印您集合中的所有值。如果您 copy-paste 将此代码段放入浏览器的控制台,例如 Chrome,它也会记录该函数的结果。在这种情况下,forEach returns undefined 所以 undefined 将在最后打印。