在一些编程语言中,如果一个函数返回一个数组,那么与将数组存储在变量中然后检索单个元素相反,可以像这样直接检索:
var someValues = getSomeValues();
var firstElement = someValues[0];
您可以直接在函数调用后使用数组索引表示法来检索返回数组的元素,如下所示:
var firstElement = getSomeValues()[0];
这个结构或语法被称为什么?它有特殊的名称吗?
在一些编程语言中,如果一个函数返回一个数组,那么与将数组存储在变量中然后检索单个元素相反,可以像这样直接检索:
var someValues = getSomeValues();
var firstElement = someValues[0];
var firstElement = getSomeValues()[0];
你正在访问函数返回的数组/集合的索引元素。你并没有直接访问函数中的索引位置。You can use the array index notation directly on the function call to retrieve the element
var firstElement = getSomeValues()[0];
数组解引用
我使用术语查找。
嗯...危险...??
如果返回的数组中没有元素。
当涉及到处理数组时,这是一个不好的习惯,JavaScript除外,如评论所述。
除此之外,这个想法被称为'方法链'
我相信它没有特殊的名称。您只是访问返回的数组的第一个元素。在许多语言中,返回数组的函数并没有什么特别之处。
在您的情况下,您没有将[]
(索引)运算符应用于函数调用。而是将其应用于返回的数组上。按优先级排序,它看起来像这样。
var firstElement = ( getSomeValues() )[0];
所以这没有什么特别的。
然而,还有一种获取第一个元素的模式与函数式编程有关,例如:
($first_value, @rest_of_list) = getSomeValues(); # Perl
let first::rest = getSomeValues () in ... (* OCaml *)
这将列表的第一个值(严格来说,不是数组)保存到$first_value
中,其余值存储在数组变量中。该数组变量可以省略,然后您只获取第一个值。
($first_value) = getSomeValues(); # Perl
let first::_ = getSomeValues () in ... (* OCaml *)
sequence.First()
会对应哪个 .NET 调用? - ChaosPandion