immutable-test
by 郭 凡
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/immutable/3.8.1/immutable.js"></script>
JavaScript
const {
fromJS,
toJS,
is,
Map,
List
} = Immutable;
let test = {
inPool: fromJS({
origin: {
nav: [],
money: [{
a: 1,
b: 3
}]
}
})
};
let test1 = test.inPool.updateIn(["origin", "money"], (v) => (v.push({
a: 1,
b: 2
})));
console.dir(test1.getIn(["origin", "money"]).get(0).a);
console.dir(test1.getIn(["origin", "money"]).get(1).a);
var asd = fromJS([1, 2, [3, 4, 5]]);
var b = asd.getIn([2, 1]);
console.log(test.inPool.getIn(["origin", "money"]));
let oo = fromJS({
outPool: {
namv: {
menu: [{
skill: 1
}, {
skill: 2
}]
}
}
});
var oos = oo.updateIn(["outPool", "namv", "menu"], (v) => {
return v.map(x => {
return {
skill: x.get("skill") * 12
}
})
});
console.dir(oos.toJS());
let cst1 = fromJS({a:[]});
let cst2 = fromJS({a:[]});
console.log(is(cst1, cst2));
cst3 = cst1.set("a", List([]));
cst4 = cst2.set("a", List([]));
console.log(is(cst3, cst4));