【发布时间】:2019-08-03 01:24:51
【问题描述】:
我正在尝试比较两个数组值的存在,但在迭代器内部,比较 every 似乎不起作用。
void main() {
var array1 = [1, 2, 3, 4];
var array2 = [2, 3, 4, 1];
print("Arrays are equal: ${compareArrays(array1, array2)}");
}
bool compareArrays(array1, array2) {
if (array1.length == array2.length) {
return array1.every( (value) => array2.contains(value) );
} else {
return false;
}
}
所以我遇到了上述错误:
未捕获的异常:TypeError: Closure 'compareArrays_closure': type '(dynamic) => dynamic' 不是 '(int) => bool' 类型的子类型
如何遍历每个值的数组以及我在上面做错了什么?
【问题讨论】:
-
如果您只需要检查列表是否相等,您可以按照这个答案stackoverflow.com/a/22333042/8745788