closure javascript
by cesar nieto
JavaScript
function sum(x){
return function(y){
return x+y
}
}
/* console.log(sum(2)(3)); */
const peopleArray = [
{ id: 123, name: "dave", age: 23 },
{ id: 456, name: "chris", age: 23 },
{ id: 789, name: "bob", age: 23 },
{ id: 101, name: "tom", age: 23 },
{ id: 102, name: "tim", age: 23 }
]
const arr2Obj = (array)=>
array.reduce((obj,item)=>{
obj[item.id] = item
return obj
},{})
const peopleObject = arr2Obj(peopleArray);
/* console.log(peopleObject[101]); */
const obj2arr = Object.values(peopleObject);
/* console.log(obj2arr); */
var contador = (function(){
var _cnt = 0;
function cambio(val){
_cnt += val;
}
return{
inc : function(){
cambio(1);
},
dec : function(data){
cambio(data);
},
final : function(){
return _cnt;
}
}
})();
contador.inc(+5);
contador.dec(-3);
contador.inc(5);
/* contador.dec(-10); */
console.log(contador.final());