首页 > 解决方案 > 在 JavaScript 中对字符串调用 forEach

问题描述

我在 JS 方面没有那么丰富的经验,所以也许这是一个非常幼稚的问题。我试着打电话

"".forEach((e, i) => {
    console.log(e)
})

我收到一个错误,说这forEach不是字符串的函数。然而,当我打电话时:

Object.getOwnProperyNames("")

我可以清楚地看到它forEach()在 string 和 type 的原型中function

为什么我不能在字符串上调用它?

标签: javascriptarraysstring

解决方案


Object.getOwnPropertyNames返回一个数组,你可以遍历一个数组——这并不奇怪。

至于用循环遍历字符串forEach,你不能——你只能使用for循环。也就是说,遍历一个字符串。一种快速简便的使用方法forEach是将字符串展开到数组中:

[..."Hello, World!"].forEach((e, i) => console.log(e));

或者,如果它包含某些字符:

Array.from("Hello, World!").forEach((e, i) => console.log(e));

推荐阅读