json - 如何遍历 JUEL(Java 统一表达式语言)中的嵌套键值对对象并返回某个索引以进行评估?
问题描述
我有一个具有重复键值对的对象。我需要遍历它并仅针对一个条件评估索引 [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(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: Cannot read property "0.0" from undefined (#12)
解决方案
var primeKey = key.get[0];
是荒谬的,因为"key"
值对不是要迭代的数组。但是,如果我们简单地将i
迭代器更改为 index 0
like,那么 var cell = cells.get(0);
我们可以仅针对 index 评估条件0
。无需遍历整个嵌套循环,因为我们只与 index 进行比较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;
推荐阅读
- javascript - 如何通过比较两个数组中的 id 将第一个数组中的值分配给第二个数组中的新键。在javascript中
- c# - 我想将文本框文本从 Form 1 更改为 Form 2(命名为 mp 和 sx)我尝试使用 To String
- excel - 复制工作簿中的范围并将其粘贴到我当前/打开的工作簿中
- python - python中的人脸识别库在运行命令时给出了无法启动的过程。我该如何解决这个问题?
- reactjs - Lerna + Ubuntu 尝试使用monoperos 启动ubuntu 项目
- node.js - XPath 在双重条件下获取元素
- flutter - 将颤动的照片发送到另一台服务器
- ios - 将按钮标题附加到数组?
- python - 根据索引中的值重复二维数组索引元组
- ansible - 针对同一任务对同一主机的多个同时请求给出“数据无法发送到远程主机 IP。确保可以通过 ssh 访问此主机