从 属性 等于值的数组中获取项目
Get Item from Array with Property equal to Value
这个问题是针对我的 LightSwitch 项目的,但我不确定那是 renavent。我以前从未做过 javascript 或 jquery,我很确定这与 LightSwitch 无关,而与后者有关。
在我的例子中,以下代码可以完美地将测试设置为 4:
myapp.BrowseTreeNodes.TreeNodes_render = function (element, contentItem) {
var screen = contentItem.screen;
var result = screen.MyArray.data[0];
var test = result.Id;
}
我需要做的不是将结果设置为数组中的第一项,而是需要将结果设置为具有特定 ID 的项目,对于此示例,假设为 4。
这是我尝试过的方法:
var result = $.grep(screen.MyArray.data, function (e) { return e.Id === 4; })[0];
var result = screen.MyArray.data.filter(function (v) { return v.Id === 4; })[0];
var result = screen.MyArray.data.find(x => x.Id === 4)[0];
提前致谢。
您的问题可能是 ===
, ===
也会检查类型,因此 "4" === 4
是 false
而 "4" == 4
是 true
, 检查你的 id 属性 是存储为字符串还是整数...
这个问题是针对我的 LightSwitch 项目的,但我不确定那是 renavent。我以前从未做过 javascript 或 jquery,我很确定这与 LightSwitch 无关,而与后者有关。
在我的例子中,以下代码可以完美地将测试设置为 4:
myapp.BrowseTreeNodes.TreeNodes_render = function (element, contentItem) {
var screen = contentItem.screen;
var result = screen.MyArray.data[0];
var test = result.Id;
}
我需要做的不是将结果设置为数组中的第一项,而是需要将结果设置为具有特定 ID 的项目,对于此示例,假设为 4。
这是我尝试过的方法:
var result = $.grep(screen.MyArray.data, function (e) { return e.Id === 4; })[0];
var result = screen.MyArray.data.filter(function (v) { return v.Id === 4; })[0];
var result = screen.MyArray.data.find(x => x.Id === 4)[0];
提前致谢。
您的问题可能是 ===
, ===
也会检查类型,因此 "4" === 4
是 false
而 "4" == 4
是 true
, 检查你的 id 属性 是存储为字符串还是整数...