gpt4 book ai didi

javascript - javascript箭头函数奇怪的未定义错误

转载 作者:行者123 更新时间:2023-11-30 14:17:01 24 4
gpt4 key购买 nike

我加入了一个 react-native 项目,我意识到这里有些不同,比如它的 CSS,但我认为 javascript 也有些不同。因为我在以下代码中出错:

const makeVal = arr =>
arr
.filter( i => i.checked )
.map ( i => i.label )
.join(', ');

有时这个函数会出现以下错误:

Uncaught TypeError: Cannot read property 'filter' of undefined

我查不出来领导说是你的错?但我认为这是后端团队的错误,因为他们的数据在他们的 API 中传递。

如何编写不会出错的函数?

最佳答案

Uncaught TypeError: Cannot read property 'filter' of undefined

您应该确保 arr 属性实际定义并且是 array 类型。似乎在某些情况下 arr 传递给 makeVal 函数是未定义的,因此没有 filter 方法。你可以尝试这样的事情:

const makeVal = arr => {
if (typeof arr === 'undefined' || ! Array.isArray(arr)) {
// "arr" is wrong, error handling
} else {
return arr
.filter( i => i.checked )
.map ( i => i.label )
.join(', ');
}
}

此外,您可能想检查 arr 元素是否实际包含“checked”和“label”字段,但这是另一回事。或者,您可以检查 makeVal callsite 并确保传递给该函数的数据是正确的。

关于javascript - javascript箭头函数奇怪的未定义错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53427482/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com