Javascript [0]执行什么操作,并在筛选器方法末尾传递?
我在学习课程时得到了这个代码,但没有正确得到它。 过滤器方法结束时通过的[0]的作用是什么?它的用途是什么Javascript [0]执行什么操作,并在筛选器方法末尾传递?,javascript,arrays,ecmascript-6,filter,Javascript,Arrays,Ecmascript 6,Filter,我在学习课程时得到了这个代码,但没有正确得到它。 过滤器方法结束时通过的[0]的作用是什么?它的用途是什么 let getUser = this.globalRoom.filter((userId) => { return userId.id === id; })[0] 由于filter返回的数组仅包含通过回调检查的项,因此[0]将为您提供此类列表中的第一项 然而,这是一种反模式,因为这里是作业的正确工具,原因如下: filter在整个数组中保持循环,即使您只对它的第一个结果感兴趣
let getUser = this.globalRoom.filter((userId) => {
return userId.id === id;
})[0]
由于
filter
返回的数组仅包含通过回调检查的项,因此[0]
将为您提供此类列表中的第一项
然而,这是一种反模式,因为这里是作业的正确工具,原因如下:
在整个数组中保持循环,即使您只对它的第一个结果感兴趣filter
准确返回第一个结果,并停止循环数组,而无需访问其第一个索引find
let getUser = this.globalRoom.find((userId) => {
return userId.id === id;
});
您应该检查
getUser
是否返回一个值,因为asfilter
可能是一个空数组,因此访问其索引0
将返回未定义,find
也会返回未定义的undefined
,如果一次没有匹配满足的条件。什么是[0]
与阵列一起使用时通常会做什么?