2024-06-16 21:02:11 +02:00
|
|
|
array = ["Bilbo", "Gandalf", "Nazgul"];
|
|
|
|
array.forEach((item, index, array) =>{
|
|
|
|
console.log(`${item} is at index ${index} in ${array}`)
|
|
|
|
});
|
|
|
|
|
|
|
|
console.log(`arr.indexOf(Bilbo): ${array.indexOf("Bilbo")}`)
|
|
|
|
console.log(`arr.indexOf(Bilbo): ${array.includes("Bilbo")}`)
|
|
|
|
|
|
|
|
let fruits = ['Apple', 'Orange', 'Apple']
|
|
|
|
console.log(`fruits.indexOf('Apple'): ${fruits.indexOf('Apple')}`)
|
|
|
|
console.log(`fruits.lastIndexOf('Apple'): ${fruits.lastIndexOf('Apple')}`)
|
|
|
|
|
|
|
|
// arr.find(fn)
|
|
|
|
let users = [
|
|
|
|
{id: 1, name: "xingzhesun"},
|
|
|
|
{id: 2, name: "zhexingsun"},
|
|
|
|
{id: 3, name: "sunxingzhe"},
|
|
|
|
];
|
|
|
|
|
|
|
|
let user1 = users.find(item => item.id == 1);
|
|
|
|
let user2 = users.findLastIndex(item => item.id == 1);
|
|
|
|
console.log(user1.name);
|
|
|
|
console.log(user2.name);
|
|
|
|
|
|
|
|
// arr.filter
|
|
|
|
let someUsers = users.filter(user => user.id < 3);
|
|
|
|
console.log(someUsers)
|
|
|
|
someUsers = users.filter(function(item, index, array){
|
|
|
|
if (item.id < 3){
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
})
|
|
|
|
console.log(someUsers);
|
|
|
|
|
|
|
|
// arr.map(fn)
|
2024-06-16 21:03:42 +02:00
|
|
|
let lengths = array.map(item=>item.length);
|
2024-06-16 21:21:58 +02:00
|
|
|
console.log(lengths);
|
|
|
|
|
|
|
|
// arr.sort(fn)
|
|
|
|
function compare(a, b){
|
|
|
|
if (a > b) return 1;
|
|
|
|
if (a == b) return 0;
|
|
|
|
if (a < b) return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
arr = [15, 2 ,1];
|
|
|
|
console.log(`arr.sort(): ${arr.sort(compare)}`);
|
|
|
|
console.log(`arr.sort(): ${arr.sort((a,b) => a - b)}`);
|
|
|
|
|
|
|
|
let countries = ['Österreich', 'Andorra', 'Vietnam'];
|
2024-06-16 21:34:24 +02:00
|
|
|
console.log(countries.sort((a,b) => a.localeCompare(b)))
|
|
|
|
|
|
|
|
// arr.reverse()
|
|
|
|
countries = countries.reverse()
|
|
|
|
console.log(countries)
|
|
|
|
|
|
|
|
// arr.split() and arr.join()
|
|
|
|
let names = "Bilbo, Gandalf, Nazgul";
|
|
|
|
|
|
|
|
let nameLists = names.split(', ');
|
|
|
|
|
|
|
|
for(let name of nameLists){
|
|
|
|
console.log(`A message to ${name}`);
|
|
|
|
}
|
|
|
|
// [LOG - 6/16/24 21:32:14] "A message to Bilbo"
|
|
|
|
// [LOG - 6/16/24 21:32:14] "A message to Gandalf"
|
|
|
|
// [LOG - 6/16/24 21:32:14] "A message to Nazgul"
|
|
|
|
|
|
|
|
nameLists = names.split(', ', 2);
|
|
|
|
for(let name of nameLists){
|
|
|
|
console.log(`A message to ${name}`);
|
|
|
|
}
|
|
|
|
// [LOG - 6/16/24 21:32:14] "A message to Bilbo"
|
|
|
|
// [LOG - 6/16/24 21:32:14] "A message to Gandalf"
|
|
|
|
|
|
|
|
console.log(`nameLists: ${nameLists.join('; ')}`)
|
|
|
|
// [LOG - 6/16/24 21:33:45] "nameLists: Bilbo; Gandalf"
|
|
|
|
|
|
|
|
|
2024-06-16 23:04:25 +02:00
|
|
|
// arr.reduce(fn) arr.reduceRight(fn)
|
|
|
|
let numbers = [1,2,3,4,5]
|
|
|
|
console.log(numbers.reduce(function(sum, current){
|
|
|
|
return sum + current;
|
|
|
|
}, 0));
|
|
|
|
console.log(numbers.reduce((sum, cur) => sum + cur, 0));
|
|
|
|
console.log(numbers.reduceRight((sum, cur) => sum + cur, 0));
|
|
|
|
|
|
|
|
// Array.isArray()
|
|
|
|
console.log(Array.isArray(countries))
|
|
|
|
|
|
|
|
function camelize(str){
|
2024-06-21 22:04:48 +02:00
|
|
|
// words = str.split('-')
|
|
|
|
// for(let i = 1; i < words.length; i++){
|
|
|
|
// words[i] = words[i][0].toUpperCase() + words[i].slice(1);
|
|
|
|
// }
|
|
|
|
// return words.join('');
|
|
|
|
return str.split('-')
|
|
|
|
.map((word, index) => index == 0 ? word: word[0].toUpperCase() + word.slice(1))
|
|
|
|
.join('')
|
2024-06-16 23:04:25 +02:00
|
|
|
}
|
|
|
|
console.log(camelize("background-color"))
|
|
|
|
console.log(camelize("list-style-image"))
|
2024-06-21 22:04:48 +02:00
|
|
|
console.log(camelize("-webkit-translation"))
|
|
|
|
|
|
|
|
function filterRange(arr, a, b){
|
|
|
|
return arr.filter(ele => ele >= a && ele <= b);
|
|
|
|
}
|
|
|
|
arr = [5, 3, 8, 1];
|
|
|
|
let filtered = filterRange(arr, 1, 4);
|
|
|
|
console.log(filtered)
|
|
|
|
console.log(arr)
|
|
|
|
|
|
|
|
|
|
|
|
function copySorted(arr){
|
|
|
|
return arr.slice().sort();
|
|
|
|
}
|
|
|
|
arr = ["HTML", "JavaScript", "CSS"];
|
|
|
|
|
|
|
|
let sorted = copySorted(arr);
|
|
|
|
console.log(sorted)
|
|
|
|
console.log(arr)
|
|
|
|
|
|
|
|
function Calculator(){
|
|
|
|
this.methods = {
|
|
|
|
"-": (a,b) => a-b,
|
|
|
|
"+": (a,b) => a+b
|
|
|
|
};
|
|
|
|
this.calculate = function(str){
|
|
|
|
let split = str.split(' ');
|
|
|
|
a = +split[0];
|
|
|
|
op = split[1];
|
|
|
|
b = +split[2];
|
|
|
|
|
|
|
|
if (!this.methods[op] || isNaN(a) || isNaN(b)){
|
|
|
|
return NaN;
|
|
|
|
}
|
|
|
|
|
|
|
|
return this.methods[op](a,b);
|
|
|
|
}
|
|
|
|
this.addMethod = function(name, func){
|
|
|
|
this.methods[name] = func;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
let john = { name: "John", surname: "Smith", id: 25 };
|
|
|
|
let pete = { name: "Pete", surname: "Hunt", id: 30 };
|
|
|
|
let mary = { name: "Mary", surname: "Key", id: 28 };
|
|
|
|
|
|
|
|
users = [ john, pete, mary ];
|
|
|
|
|
|
|
|
names = users.map((user) => user.name)
|
|
|
|
|
|
|
|
console.log( names ); // John, Pete, Mary
|
|
|
|
|
|
|
|
let usersMapped = users.map((user) => {
|
|
|
|
return {
|
|
|
|
fullName: user.name + ' ' + user.surname,
|
|
|
|
id: user.id
|
|
|
|
}
|
|
|
|
}
|
|
|
|
);
|
|
|
|
console.log(usersMapped[0].id)
|
|
|
|
console.log(usersMapped[0].fullName)
|
|
|
|
|
|
|
|
function sortByAge(arr){
|
|
|
|
return arr.sort((userA, userB) => userA.id - userB.id)
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
sortByAge(users)
|
|
|
|
console.log(users[0].name)
|
|
|
|
console.log(users[1].name)
|
|
|
|
console.log(users[2].name)
|
|
|
|
|
|
|
|
function getAverageAge(arr){
|
|
|
|
return arr.reduce(function(sum, cur){
|
|
|
|
sum = sum + cur.id;
|
|
|
|
},0) / arr.length;
|
|
|
|
}
|
|
|
|
|
|
|
|
console.log(getAverageAge(users))
|