JS列表大小不变

时间:2018-10-09 15:00:01

标签: reactjs typescript size immutable.js immutablelist

我不知道不可变JS列表大小会如何增长。

如官方文档https://facebook.github.io/immutable-js/docs/#/List/push上的示例所示,在不可变的js列表中推送内容会自动增大大小。

在我的代码中:

const list: List = List();
list.push(object);
console.log(list, list.size);

我的输出结果是:

(1) object
length: 1
___proto___: Array(0)

undefined

这与方面输出确实不同。 没有大小,如果我在代码Typescript中使用长度,请告诉我列表中不存在“长度”。 我使用带有Typescript和Immutable.JS的React

有人知道会发生什么吗?

1 个答案:

答案 0 :(得分:0)

不可变性意味着操作不会更改原始对象,而是创建一个新对象。

对于您来说,push方法将返回一个 new 列表,其中包含所有旧元素和您刚刚添加的新元素。

您的代码应如下所示。

const list: List = List();
const newList = list.push(object);
console.log(list, list.size);
console.log(newlist, newlist.size);

这将为list变量打印大小为0,为newList变量打印大小为1。