returnJSON.parse(JSON.stringify(o));// will lost any function
}
// only top level
functioncopy4(o){
constnewObject={};
for(letkeyino){
newObject[key]=o[key];
}
}
}
md`Deep copy`
// only top level
functiondeepCopy(o){
constnewObject=Object.create(o.__proto__);
for(letkeyino){
constvalue=o[key];
if(null!==value&&typeofvalue==='object'){
newObject[key]=deepCopy(value);
}
newObject[key]=o[key];
}
}
md`Unique`
{
consta=[1,2,3,1,2,3,1,2,3];
// function unique(a) {
// return Array.from(new Set(a))
// }
// function unique(a) {
// return a.filter((e, i) => a.indexOf(e) === i);
// }
functionunique(a){
constmap=a.reduce((R,i)=>{
R[i]=i;
returnR;
},{});
returnObject.values(map);
}
returnunique(a)// [1, 2, 3];
}
Purpose-built for displays of data
Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.