gpt4 book ai didi

javascript - 在javascript中映射之前是否需要检查数组的长度?

转载 作者:行者123 更新时间:2023-11-29 23:15:55 25 4
gpt4 key购买 nike

所以我用 ES6 编写了这段代码

 let documents = somedata;
if (documents.length >= 0) {
documents.map( (item, index) => {
state[item.type].push(item);
});
this.setState({documents: state});
}

我正在尝试优化它,我是否需要在声明映射之前检查数组的长度,什么是处理错误检查的更好方法?

比如有没有不检查长度的例子是不好的?

如果变量不是数组,它会失败,但除此之外还有什么情况我应该担心吗?

最佳答案

不,[].map(item => item) 只会返回 [],所以如果长度为 0 就没问题。

如果你只是检查你的变量是否是一个数组,你可以引用这个问题: How do you check if a variable is an array in JavaScript?

这也可能由于以下任何原因而失败

  • 您的数组元素之一不是具有“类型”属性的对象
  • 您的状态对象没有与 item.type 值对应的键
  • 如果 state[item.type] 值不是数组(因此没有 push 方法)

此外,如果您不使用 map 的结果,请不要使用 map ,使用 Array.forEach() .

关于javascript - 在javascript中映射之前是否需要检查数组的长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52769487/

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