我有一个具有重复键值对的对象。我需要遍历它&只根据条件评估索引:
var cells = {"cells": [{"key": "-18", "key1": "-9", "key2": "-51", "key3": "23"}, {"key":
"-18", "key1": "-9", "key2": "-51", "key3": "23"}, {"key": "-18", "key1": "-9", "key2": "-51",
"key3": "23"}]};到目前为止我的代码是:
var result = true;
if (cells instanceof java.util.List && !cells.isEmpty()) {
for (var i = 0; i < cells.size(); i++) {
var cell = cells.get(i);
var key = cell.get("key");
var primeKey = key.get[0];
if (primeKey) {
if (parseInt(primeKey) < 5) {
result = false;
break;
}
} else {
result = false;
break;
}
}
} else {
result = false;
}
return result;我得到的错误是:在计算过程中遇到的错误: TypeError:无法从未定义的(#12)中读取属性"0.0“
发布于 2021-09-17 01:08:26
var primeKey = key.get[0];是荒谬的,因为"key"值对不是要迭代的数组。但是,如果我们简单地将i迭代器更改为索引0 (类似于var cell = cells.get(0); ),那么我们只能根据索引0来计算条件。不需要遍历整个嵌套循环,因为我们只是比较索引0。详情见下文:
var cells = {"cells": [{"key": "-18", "key1": "-9", "key2": "-51", "key3": "23"}, {"key":
"-18", "key1": "-9", "key2": "-51", "key3": "23"}, {"key": "-18", "key1": "-9", "key2": "-51",
"key3": "23"}]};
var result = true;
if (cells instanceof java.util.List && !cells.isEmpty()) {
for (var i = 0; i < cells.size(); i++) {
var cell = cells.get(0);
var key = cell.get("key");
if (primeKey) {
if (parseInt(primeKey) < 5) {
result = false;
break;
}
} else {
result = false;
break;
}
}
} else {
result = false;
}
return result;https://stackoverflow.com/questions/68133735
复制相似问题