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));