неделю изучаю JS.
Скажите пожалуйста есть ДЗ , вроде я его сделал, но костылем, как мне из url получить массив path: user, а не как сейчас у меня [path, user]
Вот ДЗ
1.Есть url https://mysite.com?path=user , получите значение после ? и поместите в массив так чтобы path был ключом , а user значением
2. Создайте пользователей , каждый пользователь имеет
имя, год, последний визит ( d.m.Y H:i ) , индекс (случайный), path (user, staff, client)
3.В массиве удалите всех пользователей у которых path не равен user (из url)
Вот мое решение
const randomNumber = (max, min) => Math.floor(Math.random() * (max - min) + min)
const dateTime = () => {
const now = new Date()
return `${now.toLocaleDateString()} ${now.getHours()}:${now.getMinutes()}`
}
let url = location.pathname
let array = url.slice(url.indexOf('?') + 1).split('=')
let users = [{
id: randomNumber(1, 300),
name: 'Иван',
city: 'Москва',
path: 'user',
date: dateTime()
},
{
id: randomNumber(300, 400),
name: 'Максим',
city: 'Тюмень',
path: 'user',
date: dateTime()
},
{
id: randomNumber(1, 1000),
name: 'Евгений',
city: 'Ростов-на-Дону',
path: 'staff',
date: dateTime()
},
{
id: randomNumber(100, 1000),
name: 'Олег',
city: 'Санкт-Петербург',
path: 'user',
date: dateTime()
}
]
let newUsers = users.filter(i => i.path == array[1])
console.log(newUsers)
split создает массив по значению = ['path', 'user'] - конечно я могу сделать новый массив что бы path был ключом , а user значением, но у меня идея делать только циклом, или через регулярное выражение. Но я хотел бы узнать если решение прямо там же как и в случае split
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
яб юзеров создавал юзерБилдером ) const userBuilder = (name, city, path, date) => { id: randomNumber(1, 1000), name: name, city: city, path: path, date: dateTime() }
я пока не перешел в эту часть изучения но как я понимаю это ООП как и в PHP , или я не прав?
Обсуждают сегодня