Skip to content

Instantly share code, notes, and snippets.

const persons = [
{ firstName: "Alice", lastName: "Smith", age: 30, cars: [{ brand: "Ford", model: "Fiesta", licensePlateNumber: "ABC123" }] },
{ firstName: "Bob", lastName: "Johnson", age: 25, cars: [{ brand: "Toyota", model: "Corolla", licensePlateNumber: "DEF456" }, { brand: "Honda", model: "Civic", licensePlateNumber: "GHI789" }] },
{ firstName: "Eve", lastName: "Jones", age: 35, cars: [] }
];
const sortedByLastName = sortPersons(persons, "lastName");
console.log(sortedByLastName);
const sortedByNumCars = sortPersons(persons, "numCars");
function sortPersons(persons: Person[], sortKey: "lastName" | "numCars"): Person[] {
return persons.sort((a, b) => {
if (sortKey === "lastName") {
return a.lastName.localeCompare(b.lastName);
} else if (sortKey === "numCars") {
return a.cars.length - b.cars.length;
}
});
}
//Hook
function useMousePosition() {
const mousePosition = React.useRef({ x: 0, y: 0 })
React.useEffect(() => {
const updateMousePosition = (ev) => {
mousePosition.current = { x: ev.clientX, y: ev.clientY }
}
window.addEventListener("mousemove", updateMousePosition)
const HEIGHT_LIMIT = 100
function Animated() {
const divRef = React.useRef()
const requestRef = React.useRef()
const heightRef = React.useRef(0)
const animate = () => {
heightRef.current += 1
divRef.current.style.height = `${heightRef.current}px`
const TIMEOUT_LIMIT = 5000
function Notice() {
const [isVisible, setIsVisible] = React.useState(true)
const timeoutRef = React.useRef(null)
const hideNotice = () => {
setIsVisible(false)
}
@JBassx
JBassx / NormalUsage.js
Last active May 17, 2022 17:15
Normal usage of refs
function NormalUsage() {
const inputRef = React.useRef();
const handleSubmit = (e) => {
e.preventDefault();
console.log(inputRef.current.value);
};
return (
<form onSubmit={handleSubmit}>
@JBassx
JBassx / remove_gallery.php
Last active August 29, 2015 13:58
Wordpress: Remove galleries from the_content() - Add this in your functions.php