## levenshtein distance

0 likes • Nov 19, 2022 • 1 view
JavaScript

## More JavaScript Posts

#### Rings and Rods

0 likes • Nov 19, 2022 • 1 view
JavaScript
```// There are n rings and each ring is either red, green, or blue. The rings are distributed across ten rods labeled from 0 to 9.
// You are given a string rings of length 2n that describes the n rings that are placed onto the rods. Every two characters in rings forms a color-position pair that is used to describe each ring where:
// The first character of the ith pair denotes the ith ring's color ('R', 'G', 'B').// The second character of the ith pair denotes the rod that the ith ring is placed on ('0' to '9').// For example, "R3G2B1" describes n == 3 rings: a red ring placed onto the rod labeled 3, a green ring placed onto the rod labeled 2, and a blue ring placed onto the rod labeled 1.
// Return the number of rods that have all three colors of rings on them.

let rings = "B0B6G0R6R0R6G9";var countPoints = function(rings) {        let sum = 0;    	// Always 10 Rods    for (let i = 0; i < 10; i++) {        if (rings.includes(`B\${i}`) && rings.includes(`G\${i}`) && rings.includes(`R\${i}`)) {            sum+=1;        }    }        return sum;    };
console.log(countPoints(rings));```

#### getSelectedText

0 likes • Nov 18, 2022 • 0 views
JavaScript
`// Get the text that the user has selectedconst getSelectedText = () => window.getSelection().toString();getSelectedText();`

#### Mongoose Model

CHS
0 likes • Mar 11, 2021 • 0 views
JavaScript
```const mongoose = require('mongoose')
const UserSchema = new mongoose.Schema({	username: {	type: String,	required: true	},	email: {	type: String,	unique: true,	required: true	},	password: {	type: String,	required: true	},	date: {	type: Date,	default: Date.now	}})
module.exports = User = mongoose.model('user', UserSchema)```

0 likes • Sep 2, 2023 • 8 views
JavaScript
```//Allegedly never tested on the twitter websitefunction scrapeScreen(){    let articles = Array.from(document.getElementsByTagName("article"));    let results = [];    for(let tweet of articles){        const isAnAd = Array.from(tweet.querySelectorAll("span")).map((e)=>e.textContent).includes("Ad");        if(isAnAd){            //console.log(tweet, "is an ad. Skipping...");            continue;        }        const userName = tweet.querySelector("[data-testid='User-Name'] > div:nth-child(2) > div > div")?.textContent;        const tweetContent = tweet.querySelector("[data-testid='tweetText']")?.textContent;        const timeStamp = tweet.querySelector("time")?.getAttribute("datetime");        const tweetLink = tweet.querySelector("time")?.parentElement?.getAttribute("href");        if((!userName) || (!tweetContent)) continue;        results.push({            username: userName,            tweetText: tweetContent,            timeStamp: timeStamp,            tweetLink: tweetLink        });    }    return results;}let scraped = scrapeScreen();setInterval(()=>{    scraped = scraped.concat(        scrapeScreen().filter((tweet)=>{            for(let scrapedTweet of scraped){                if(scrapedTweet.username == tweet.username && scrapedTweet.tweetText == tweet.tweetText) return false;            }            return true;        })    );}, 500); //Scrape everything on the screen twice a second
window.scrollIntervalId = setInterval(function(){    window.scrollBy(0, 1000);}, 500); //Scroll for me

//http://bgrins.github.io/devtools-snippets/#console-save(function(console){
console.save = function(data, filename){
if(!data) { console.error('Console.save: No data') return; }
if(!filename) filename = 'console.json'
if(typeof data === "object"){ data = JSON.stringify(data, undefined, '\t') }
var blob = new Blob([data], {type: 'text/json'}), e = document.createEvent('MouseEvents'), a = document.createElement('a')
setTimeout(()=>{    clearTimeout(window.scrollIntervalId);    delete window.scrollIntervalId;
console.save(scraped, "TwitterScrape" + Date.now() + ".json");}, 60 * 1000 * 20); //Twenty minutes```

#### euclidean distance

0 likes • Nov 19, 2022 • 3 views
JavaScript
`const euclideanDistance = (a, b) =>  Math.hypot(...Object.keys(a).map(k => b[k] - a[k]));  euclideanDistance([1, 1], [2, 3]); // ~2.2361euclideanDistance([1, 1, 1], [2, 3, 2]); // ~2.4495`

#### Reverse a string

0 likes • Nov 19, 2022 • 1 view
JavaScript
`const reverse = str => str.split('').reverse().join('');reverse('hello world');     // Result: 'dlrow olleh'`