我想要列表和推送元素列表,但我不断获取没有元素的列表,我无法想到原因。
我从
开始override func mouseDown(with event: NSEvent) {
super.mouseDown(with: event)
if event.clickCount >= 2 {
...
}
}
我希望
List([ List([]), List([]) ]);
我的代码如下:
List([ List([2,4]), List([3,6]) ]);
当我运行它时,会打印出来:
const { List } = require('immutable')
list = List([ List([]), List([]) ]);
list.get(0).push(2);
list.get(1).push(3);
list.get(0).push(4);
list.get(1).push(6);
console.log(list);
列表中没有元素。
答案 0 :(得分:2)
当然List中没有元素。
当你这样做时
list.get(0).push(2);
您没有通过将0
推入2
来改变位置,因为您正在假设,您正在获得一个新的List
做这个操作的结果,这是不可变的点,而不是改变原始集合,你得到一个新的。
这就是你尝试用Immutable做的事情:
const { List } = require('immutable')
list = List([ List([]), List([]) ]);
list = list.set(0, list.get(0).push(2));
list = list.set(1, list.get(1).push(3));
list = list.set(0, list.get(0).push(4));
list = list.set(1, list.get(1).push(6));
console.log(list);
列出[列表[2,4],列表[3,6]]