gpt4 book ai didi

javascript - 从数组或单个值中获取值

转载 作者:行者123 更新时间:2023-11-29 10:45:19 24 4
gpt4 key购买 nike

我想从一个变量中提取一个值。如果它是一个数组,我想要第一个元素,如果不是,我想要那个变量的值。该值是一个float,但我想知道其中哪些在性能对非 float 的可移植性方面更好,当然还有短代码代码可读性

我要用

value = variable[0] || variable

它简短而漂亮,使用它有什么注意事项吗?

或者我可以,

value = ([].concat(variable))[0]

This SO question说这对性能不利。

然后,当然,我可以通过几种不同的方式检查 variable 是否是一个数组,这在上面的问题中也有提到。如果第一个不好,还有更好的方法吗?

最佳答案

你的 value = variable[0] || variable 会工作,并且会可靠地工作。从技术上讲,如果 variable 是一个数字基元,JS 引擎此时必须做的是将它提升为一个对象,然后查找该对象的 0 属性,但如您所知,它不会有一个,没关系。

唯一可能失败的情况是 variablenullundefined,因为这两种情况都不能提升为对象,所以表达式会抛出。如果您对此表示满意,那么您就可以使用它。不过,我会对它发表评论,因为它看起来很奇怪。

如果您需要防御 nullundefined,您可以使用 == null 将过滤掉这两者的事实:

value = variable == null ? undefined : variable[0] || variable;

我也会对此发表评论。 :-)

关于javascript - 从数组或单个值中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20734654/

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