gpt4 book ai didi

javascript - 如何从MemoryStore获取最大值 "id"?

转载 作者:行者123 更新时间:2023-11-28 19:55:28 25 4
gpt4 key购买 nike

我指的是示例here 。如何获取最大 id?

最佳答案

有很多方法可以做到这一点。例如,您可以根据 ID 对商店进行排序并获取第一个元素,例如:

store.query({ }, {
sort: [{
attribute: "id",
descending: true
}]
})[0].id;

在此示例中,它查询商店内的所有对象,并按 ID 对它们进行排序(降序)。这显然意味着第一个元素具有最高的 ID,因此您只需获取该项目并检索 ID 属性即可。

这样做的好处是它只使用 Dojo 商店 API,这意味着这适用于任何实现 dojo/store API 的商店,例如 dojo/store/内存

<小时/>

另一种解决方案是自己搜索ID,你可以像Lukasz在his answer中那样做。 ,但是如果您使用 store.data ,则意味着它只能与 dojo/store/Memory 一起使用,并且您正在访问不应访问的属性。

因此,要自行搜索,您可以使用:

require([ "dojo/store/Memory", "dojo/_base/array" ], function(Memory, arrUtils) {
var maxId = null;
arrUtils.forEach(store.query({}), function(obj) {
if (maxId === null || (obj !== null && obj.id > maxId)) {
maxId = obj.id;
}
});
});

这里发生的是,我遍历商店内的每个对象,然后检查 maxId 是否为 null (= 未设置)或者对象 ID 是否更大比 maxId 更重要,如果这是真的,那么我们将 maxId 替换为当前对象的 ID。

关于javascript - 如何从MemoryStore获取最大值 "id"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22656080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com