Published
Edited
Feb 3, 2020
1 star
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
types = [
true, false, //Booleans
1, 0, -1, Infinity, //Numbers
null, undefined, NaN, "1", "0", "-1", "", //Strings
[], [1], [0], //Arrays
{}, { x: 1 }, { x: 0 } //objects
]
Insert cell
labels = [
"true", "false", //Booleans
"1", "0", "-1", "Infinity", //Numbers
"null", "undefined", "NaN", "\"1\"", "\"0\"", "\"-1\"", "\"\"", //Strings
"[]", "[1]", "[0]", //Arrays
"{}", "{x:1}", "{x:0}" //objects
]
Insert cell
dataZip = d3.zip(d3.cross(types, types), d3.cross(labels, labels))
Insert cell
false == 0
Insert cell
arrayToObject(Object.values(comparisonGraph[0])[0])
Insert cell
arrayToObject = array =>
array.reduce((obj, item, i) => {
obj[labels[i]] = Object.values(item)[0];
return obj;
}, {})
Insert cell
comparisonGraph = labels.map(each => {
let column = each;
let retObj = {};
retObj[column] = labels.map(x => {
let weakComparison = x == each;
let obj = {};
obj[x] = weakComparison;
return obj;
});
return retObj;
})
// .reduce((acc,it)=>{
// if (acc !== true) {
// acc = {...it};
// } else {
// acc[Object.keys(it)[0]] = Object.values(it)[0]
// }
// return acc;
// },{})
Insert cell
true === true
Insert cell
x = ({ x: 1 })
Insert cell
Object.is({ x: 1 }, { x: 1 })
Insert cell
undefined === undefined
Insert cell
({} == null)
Insert cell
"1" === 1
Insert cell
values_cross = d3.cross(labels, labels)
Insert cell
values_cross.map(x=>x[0]===x[1])
Insert cell
values_cross.map(x => x[0] == x[1])
Insert cell
d3=require('d3')
Insert cell

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.
Learn more