每次调用函数时生成相同的数字

时间:2016-09-28 16:27:00

标签: javascript livescript

我有一个实例化一次的类(LiveScript),但它的render方法被多次调用。在render方法中创建的每个对象都必须具有在render的所有调用中保持相同的唯一键:

class Test
    ->
     console.log 'constructor, called only once'

    render: ->
        test = {key: 4124312}
        test1 = {key: 234897}
        test2 = {key: 87234}

这样可行,但我不是硬编码密钥而是生成密钥。使用随机数将不起作用,因为这将在render的每次调用时生成新密钥。在这个类之外有一些键列表并弹出它们的项目不会起作用,因为render中创建的对象的顺序可能会改变。知道我是否以及如何生成密钥?

1 个答案:

答案 0 :(得分:0)

生成它们是一回事 - 听起来您需要一种方法来使用在执行上下文中不会更改的键来保留唯一对象。这称为持久性。

在JS中,您可以使用对象文字来存储对象,其中存储对象中每个条目的键是存储对象的唯一键:

{
    1234: { name: "test", key: 1234 },
    2345: { name: "test1", key: 2345 },
    3456: { name: "test2", key: 3456 }
}