如何有效地获取Ballerina数组中对象的索引? 有内置的功能吗?
答案 0 :(得分:0)
从语言规范2020R1开始,Ballerina现在提供indexOf
和lastIndexOf
方法。
它们分别返回满足相等条件的项目的第一个和最后一个索引。如果找不到该值,则得到()
。
import ballerina/io;
public function main() {
string[*] example = ["this", "is", "an", "example", "for", "example"];
// indexOf returns the index of the first element found
io:println(example.indexOf("example")); // 3
// The second parameter can be used to change the starting point
// Here, "is" appears at index 1, so the return value is ()
io:println(example.indexOf("is", 3) == ()); // true
// lastIndexOf will find the last element instead
// (the implementation will do the lookup backwards)
io:println(example.lastIndexOf("example")); // 5
// Here the second parameter is where to stop looking
// (or where to start searching backwards from)
io:println(example.lastIndexOf("example", 4)); // 3
}
Run it in the Ballerina Playground
这些功能和其他功能的说明可以在in the spec中找到。