gpt4 book ai didi

javascript - 从具有零个或 1 个条目的 Map 获取值?

转载 作者:行者123 更新时间:2023-11-30 19:06:57 27 4
gpt4 key购买 nike

我有一个 Map 实例,其中包含 0 个或 1 个条目。这是一个演示:

class Todo {
constructor(
public id:string,
public title:string,
public description: string ) {}
}
const todo1 = new Todo('1', 't1', 'Sarah OConnor');
const m:Map<string, Todo> = new Map();
m.set('1', todo1);
const todoInMap= m.entries().next().value[1];
console.log("The todo in the map is: ", todoInMap);

todoInMap 实例在 Map 中时,这将记录它,但是如果我们 m.clear() 我们将得到一个错误。

这个函数可以用来避免错误,我只是想知道 Map API 是否有更简单的方法来做到这一点?

function getMapValue<E>(m:Map<any, E>) {
if (!m.entries().next().done) {
return m.entries().next().value;
}
return null;
}

Ended up putting adding a utility method to Slice Utilities

/**
* Gets the current active value from the `active`
* Map.
*
* This is used for the scenario where we are manging
* a single active instance. For example
* when selecting a book from a collection of books.
*
* The selected `Book` instance becomes the active value.
*
* @example
* const book:Book = getActiveValue(bookStore.active);
* @param m
*/
export function getActiveValue<E>(m:Map<any, E>) {
if (m.size) {
return m.entries().next().value[1];
}
return null;
}```

最佳答案

我认为这个选项会更好:

function getMapValue<E>(m:Map<any, E>) {
if (m.size) {
return m.entries().next().value;
}
return null;
}

将 size 作为属性,而不是 length 或 size() 是很奇怪的,但它是这样的:)

关于javascript - 从具有零个或 1 个条目的 Map 获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58885605/

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