37 KiB
- 📔 Day 7
- Functions
- ការប្រកាស Function
- Function ដោយគ្មានប៉ារ៉ាម៉ែត្រនិង return
- Function ជាមួយតម្លៃ return
- Function ជាមួយប៉ារ៉ាម៉ែត្រ
- Function ជាមួយប៉ារ៉ាម៉ែត្រពីរ
- Function ជាមួយប៉ារ៉ាម៉ែត្រជាច្រើន។
- Function ជាមួយនឹងចំនួនប៉ារ៉ាម៉ែត្រគ្មានដែនកំណត់
- Anonymous Function
- Expression Function
- Self Invoking Functions
- Arrow Function
- Function ជាមួយ default parameters
- Function declaration និង Arrow function
- 💻 លំហាត់
- Functions
📔 ថ្ងៃទី 7
Functions
រហូតមកដល់ពេលនេះ យើងបានឃើញ JavaScript function ជាច្រើន។ នៅក្នុងផ្នែកនេះ យើងនឹងផ្តោតលើ custom function។ តើ function ជាអ្វី? មុននឹងយើងចាប់ផ្ដើមបង្កើត function សូមយល់ថា function ជាអ្វី ហើយហេតុអ្វីបានជាយើងត្រូវ function?
function គឺជាប្លុកដែលអាចប្រើឡើងវិញបានក្នុងការសរសេរកម្មវិធីដែលត្រូវបានរចនាឡើងដើម្បីអនុវត្តកិច្ចការជាក់លាក់មួយ។ function ត្រូវបានប្រកាសដោយពាក្យគន្លឹះ function ដែលតាមដោយឈ្មោះមួយនិងវង់ក្រចក ()។ វង់ក្រចកអាចយកប៉ារ៉ាម៉ែត្រ។ ប្រសិនបើ function យកប៉ារ៉ាម៉ែត្រវានឹងត្រូវបានហៅថា arugment។ functin ក៏អាចយកប៉ារ៉ាម៉ែត្រលំនាំដើមផងដែរ។ ដើម្បីរក្សាទុកទិន្នន័យទៅមុខងារ មុខងារមួយត្រូវបោះប្រភេទទិន្នន័យជាក់លាក់។ ដើម្បីទទួលបានតម្លៃដែលយើងហៅ ឬហៅ function មួយ។ function ធ្វើឲកូដ៖
- ស្អាត និងងាយស្រួលអាន
- អាចប្រើឡើងវិញបាន
- ងាយស្រួលក្នុងការតេស
function មួយអាចត្រូវបានប្រកាស ឬបង្កើតតាមវិធីដូចខាងក្រោម:
- Declaration function
- Expression function
- Anonymous function
- Arrow function
ការប្រកាស Function
តោះមើលរបៀបប្រកាស function និងរបៀបហៅ function។
//ប្រកាស function ដោយគ្មានប៉ារ៉ាម៉ែត្រ
function functionName() {
// code goes here
}
functionName() // function ហៅតាមឈ្មោះរបស់វា និងជាមួយវង់ក្រចក
Function ដោយគ្មានប៉ារ៉ាម៉ែត្រនិង return
function អាចត្រូវបានប្រកាសដោយគ្មានប៉ារ៉ាម៉ែត្រ។
ឧទាហរណ៍:
// function ដោយគ្មានប៉ារ៉ាម៉ែត្រ function ដែលបង្កើតចំនួនការ៉េ
function square() {
let num = 2
let sq = num * num
console.log(sq)
}
square() // 4
// function ដោយគ្មានប៉ារ៉ាម៉ែត្រ
function addTwoNumbers() {
let numOne = 10
let numTwo = 20
let sum = numOne + numTwo
console.log(sum)
}
addTwoNumbers() // function មួយត្រូវហៅតាមឈ្មោះរបស់វា ទើបអាចប្រតិបត្តិបាន។
function printFullName (){
let firstName = 'Asabeneh'
let lastName = 'Yetayeh'
let space = ' '
let fullName = firstName + space + lastName
console.log(fullName)
}
printFullName() // ការហៅ functino មួយ។
Function ជាមួយតម្លៃ return
function ក៏អាចបោះតម្លៃវិញដែរ ប្រសិនបើអនុគមន៍មិនបោះតម្លៃនោះតម្លៃនៃ function នឹងមិនត្រូវបានកំណត់។ អនុញ្ញាតឱ្យយើងសរសេរ function ខាងលើជាមួយនឹងការបោះតម្លៃមកវិញ។ ចាប់ពីពេលនេះតទៅ យើងបោះតម្លៃទៅ function មួយជំនួសឱ្យការបោះពុម្ពវា។
function printFullName (){
let firstName = 'Asabeneh'
let lastName = 'Yetayeh'
let space = ' '
let fullName = firstName + space + lastName
return fullName
}
console.log(printFullName())
function addTwoNumbers() {
let numOne = 2
let numTwo = 3
let total = numOne + numTwo
return total
}
console.log(addTwoNumbers())
Function ជាមួយប៉ារ៉ាម៉ែត្រ
នៅក្នុង function យើងអាចបញ្ចូលប្រភេទទិន្នន័យផ្សេងៗគ្នា (number, string, boolean, object, function) ជាប៉ារ៉ាម៉ែត្រ។
// function ជាមួយប៉ារ៉ាម៉ែត្រមួយ។
function functionName(parm1) {
//code goes her
}
functionName(parm1) // កំឡុងពេលហៅ
function areaOfCircle(r) {
let area = Math.PI * r * r
return area
}
console.log(areaOfCircle(10)) // គួរតែត្រូវបានហៅដោយ argument មួយ។
function square(number) {
return number * number
}
console.log(square(10))
Function ជាមួយប៉ារ៉ាម៉ែត្រពីរ
// Function ជាមួយប៉ារ៉ាម៉ែត្រពីរ
function functionName(parm1, parm2) {
//code goes her
}
functionName(parm1, parm2) // Function ជាមួយប៉ារ៉ាម៉ែត្រពីរ
// function គ្មានប៉ារ៉ាម៉ែត្រមិនយកការបញ្ចូលទេ ដូច្នេះអនុញ្ញាតឱ្យយើងបង្កើត function ជាមួយប៉ារ៉ាម៉ែត្រ
function sumTwoNumbers(numOne, numTwo) {
let sum = numOne + numTwo
console.log(sum)
}
sumTwoNumbers(10, 20) //ហៅ function
// ប្រសិនបើ functino មិន return វាមិនរក្សាទុកទិន្នន័យទេ ដូច្នេះវាគួរតែ return មកវិញ
function sumTwoNumbers(numOne, numTwo) {
let sum = numOne + numTwo
return sum
}
console.log(sumTwoNumbers(10, 20))
function printFullName(firstName, lastName) {
return `${firstName} ${lastName}`
}
console.log(printFullName('Asabeneh', 'Yetayeh'))
Function ជាមួយប៉ារ៉ាម៉ែត្រជាច្រើន។
// Functino ជាមួយប៉ារ៉ាម៉ែត្រជាច្រើន។
function functionName(parm1, parm2, parm3,...){
//code goes here
}
functionName(parm1,parm2,parm3,...) // កំឡុងពេលហៅ arugment ចំនួនបីដែលត្រូវការ
// function នេះយកអារេជាប៉ារ៉ាម៉ែត្រ ហើយបូកសរុបលេខក្នុងអារេ
function sumArrayValues(arr) {
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum = sum + arr[i];
}
return sum;
}
const numbers = [1, 2, 3, 4, 5];
//calling a function
console.log(sumArrayValues(numbers));
const areaOfCircle = (radius) => {
let area = Math.PI * radius * radius;
return area;
}
console.log(areaOfCircle(10))
Function ជាមួយនឹងចំនួនប៉ារ៉ាម៉ែត្រគ្មានដែនកំណត់
ពេលខ្លះយើងមិនដឹងថាតើមានអាគុយម៉ង់ប៉ុន្មានដែលអ្នកប្រើនឹងដាក់។ ដូច្នេះហើយ យើងគួរដឹងពីរបៀបសរសេរមុខងារមួយដែលអាចយកចំនួន argument មិនកំណត់។ វិធីដែលយើងធ្វើវាមានភាពខុសគ្នាខ្លាំងរវាងការប្រកាស regular function (មុខងារធម្មតា) និង arrow function។ ចូរយើងមើលឧទាហរណ៍ទាំងនៅក្នុងមុខងារប្រកាស និងមុខងារព្រួញ។
ចំនួនប៉ារ៉ាម៉ែត្រគ្មានដែនកំណត់ក្នុង function ធម្មតា
វត្ថុណាមួយដែលបានដាក់ជា argument អាចចូលប្រើបានពី arguments object នៅខាងក្នុង function។ ចូរយើងមើលឧទាហរណ៍មួយ។
// Let us access the arguments object
function sumAllNums() {
console.log(arguments)
}
sumAllNums(1, 2, 3, 4)
// Arguments(4) [1, 2, 3, 4, callee: ƒ, Symbol(Symbol.iterator): ƒ]
// ការប្រកាស functino
function sumAllNums() {
let sum = 0
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i]
}
return sum
}
console.log(sumAllNums(1, 2, 3, 4)) // 10
console.log(sumAllNums(10, 20, 13, 40, 10)) // 93
console.log(sumAllNums(15, 20, 30, 25, 10, 33, 40)) // 173
ចំនួនប៉ារ៉ាម៉ែត្រគ្មានដែនកំណត់នៅក្នុង arrow function
ដើម្បីអនុវត្តមុខងារដែលយកចំនួនអាគុយម៉ង់មិនកំណត់ក្នុង arrow function យើងប្រើ Spread operator អមដោយឈ្មោះប៉ារ៉ាម៉ែត្រណាមួយ។ អ្វីក៏ដោយដែលយើងដាក់ជាអាគុយម៉ង់ក្នុង function អាចចូលប្រើជាអារេក្នុង arrow function។ ចូរយើងមើលឧទាហរណ៍មួយ។
// Let us access the arguments object
const sumAllNums = (...args) => {
// console.log(arguments), រកមិនឃើញវ arguments object នៅក្នុង arrow functino
// ជំនួសមកវិញ យើងប្រើប៉ារ៉ាម៉ែត្រដែលមាន spread operator (...) នៅពីមុខ
console.log(args)
}
sumAllNums(1, 2, 3, 4)
// [1, 2, 3, 4]
// function declaration
const sumAllNums = (...args) => {
let sum = 0
for (const element of args) {
sum += element
}
return sum
}
console.log(sumAllNums(1, 2, 3, 4)) // 10
console.log(sumAllNums(10, 20, 13, 40, 10)) // 93
console.log(sumAllNums(15, 20, 30, 25, 10, 33, 40)) // 173
Anonymous Function
Anonymous function រឺ function គ្មានឈ្មោះ
const anonymousFun = function() {
console.log(
'I am an anonymous function and my value is stored in anonymousFun'
)
}
Expression Function
Expression functions គឺជា anonymous functions។ បន្ទាប់ពីយើងបង្កើត function ដោយមិនមានឈ្មោះហើយយើងកំណត់វាទៅជាអថេរ។ ដើម្បីបោះតម្លៃពីអនុគមន៍ យើងគួរហៅអថេរ។ សូមមើលឧទាហរណ៍ខាងក្រោម។
// Function expression
const square = function(n) {
return n * n
}
console.log(square(2)) // -> 4
Self Invoking Functions
Self invoking functions គឺជា anonymous functions ដែលមិនចាំបាច់ហៅដើម្បីឲតម្លៃ។
(function(n) {
console.log(n * n)
})(2) // 4, ប៉ុន្តែជំនួសឱ្យការគ្រាន់តែបោះពុម្ព ប្រសិនបើយើងចង់ត្រឡប់ និងរក្សាទុកទិន្នន័យ យើងធ្វើដូចបានបង្ហាញខាងក្រោម
let squaredNum = (function(n) {
return n * n
})(10)
console.log(squaredNum)
Arrow Function
arrow function គឺជាជម្រើសមួយសម្រាប់សរសេរ functino ទោះជាយ៉ាងណាក៏ដោយ ការប្រកាស function និង arrow functinoមានភាពខុសគ្នាបន្តិចបន្តួច។
arrow functino ប្រើព្រួញជំនួសឱ្យពាក្យគន្លឹះ function ដើម្បីប្រកាស function។ អនុញ្ញាតឱ្យយើងឃើញទាំងការប្រកាស function និង arrow function។
// នេះជារបៀបដែលយើងសរសេរ function ធម្មតា
// អនុញ្ញាតឱ្យយើងផ្លាស់ប្តូរ functino នេះទៅជា arrow function
function square(n) {
return n * n
}
console.log(square(2)) // 4
const square = n => {
return n * n
}
console.log(square(2)) // -> 4
// ប្រសិនបើយើងមានតែមួយបន្ទាត់នៅក្នុងប្លុកកូដនោះ វាអាចត្រូវបានសរសេរដូចខាងក្រោម
const square = n => n * n // -> 4
const changeToUpperCase = arr => {
const newArr = []
for (const element of arr) {
newArr.push(element.toUpperCase())
}
return newArr
}
const countries = ['Finland', 'Sweden', 'Norway', 'Denmark', 'Iceland']
console.log(changeToUpperCase(countries))
// ["FINLAND", "SWEDEN", "NORWAY", "DENMARK", "ICELAND"]
const printFullName = (firstName, lastName) => {
return `${firstName} ${lastName}`
}
console.log(printFullName('Asabeneh', 'Yetayeh'))
function ខាងលើមានពាក្យត្រឡប់ តែយើងអាច return វាវិញបានដូចខាងក្រោម។
const printFullName = (firstName, lastName) => `${firstName} ${lastName}`
console.log(printFullName('Asabeneh', 'Yetayeh'))
Function ជាមួយ default parameters
ពេលខ្លះយើងបញ្ជូនតម្លៃលំនាំដើមទៅប៉ារ៉ាម៉ែត្រ ពេលយើងហៅមុខងារនេះ បើយើងមិនឲតម្លៃទេ លំនាំដើមនឹងត្រូវបានប្រើ។ ទាំងការប្រកាសមុខងារ និងមុខងារព្រួញអាចមានតម្លៃលំនាំដើម។
// syntax
// ប្រកាស functino
function functionName(param = value) {
//codes
}
// ហៅ function
functionName()
functionName(arg)
ឧទាហរណ៍:
function greetings(name = 'Peter') {
let message = `${name}, welcome to 30 Days Of JavaScript!`
return message
}
console.log(greetings())
console.log(greetings('Asabeneh'))
function generateFullName(firstName = 'Asabeneh', lastName = 'Yetayeh') {
let space = ' '
let fullName = firstName + space + lastName
return fullName
}
console.log(generateFullName())
console.log(generateFullName('David', 'Smith'))
function calculateAge(birthYear, currentYear = 2019) {
let age = currentYear - birthYear
return age
}
console.log('Age: ', calculateAge(1819))
function weightOfObject(mass, gravity = 9.81) {
let weight = mass * gravity + ' N' // តម្លៃត្រូវតែប្តូរទៅ string ជាមុនសិន
return weight
}
console.log('Weight of an object in Newton: ', weightOfObject(100)) //ទំនាញផែនដី ៩.៨១
console.log('Weight of an object in Newton: ', weightOfObject(100, 1.62)) // ទំនាញនៅលើផ្ទៃព្រះច័ន្ទ
ចូរយើងមើលពីរបៀបដែលយើងសរសេរ functino ខាងលើជាមួយនឹង arrow function
// syntax
// ប្រកាស a function
const functionName = (param = value) => {
//codes
}
// ហៅ function
functionName()
functionName(arg)
ឧទាហរណ៍:
const greetings = (name = 'Peter') => {
let message = name + ', welcome to 30 Days Of JavaScript!'
return message
}
console.log(greetings())
console.log(greetings('Asabeneh'))
const generateFullName = (firstName = 'Asabeneh', lastName = 'Yetayeh') => {
let space = ' '
let fullName = firstName + space + lastName
return fullName
}
console.log(generateFullName())
console.log(generateFullName('David', 'Smith'))
const calculateAge = (birthYear, currentYear = 2019) => currentYear - birthYear
console.log('Age: ', calculateAge(1819))
const weightOfObject = (mass, gravity = 9.81) => mass * gravity + ' N'
console.log('Weight of an object in Newton: ', weightOfObject(100)) // ទំនាញផែនដី ៩.៨១
console.log('Weight of an object in Newton: ', weightOfObject(100, 1.62)) // ទំនាញនៅលើផ្ទៃព្រះច័ន្ទ
Function declaration និង Arrow function
វានឹងត្រូវបានគ្របដណ្តប់នៅក្នុងផ្នែកផ្សេងទៀត។
🌕 អ្នកជាតារាដែលកំពុងរះ ឥឡូវអ្នកដឹងអំពី function ហើយ។ អ្នកបានឈាន 7 ជំហាន ឆ្ពោះទៅរកភាពអស្ចារ្យ។ ឥឡូវធ្វើលំហាត់ខ្លះសម្រាប់ខួរក្បាល និងសាច់ដុំរបស់អ្នក។
💻 លំហាត់
លំហាត់៖ កម្រិត ១
-
ប្រកាស function fullName ហើយវាបោះពុម្ពឈ្មោះពេញរបស់អ្នក។
-
ប្រកាស function fullName ហើយឥឡូវនេះវាយកឈ្មោះដំបូង ឈ្មោះចុងក្រោយជាប៉ារ៉ាម៉ែត្រ ហើយវាឲឈ្មោះពេញរបស់អ្នក។
-
ប្រកាសមុខងារ addNumbers ហើយវាត្រូវការប៉ារ៉ាម៉ែត្រពីរ ហើយវាត្រឡប់ផលបូករបស់ប៉ារ៉ាម៉ែត្រនោះ។
-
ផ្ទៃដីនៃចតុកោណកែងត្រូវបានគណនាដូចខាងក្រោម៖ area = បណ្តោយ x ទទឹង។ សរសេរ function ដែលគណនា areaOfRectangle ។
-
បរិវេណនៃចតុកោណកែងត្រូវបានគណនាដូចខាងក្រោម៖ perimeter= 2x(បណ្តោយ + ទទឹង). សរសេរមុខងារដែលគណនា_perimeterOfRectangle_.
-
បរិមាណនៃព្រីសរាងចតុកោណត្រូវបានគណនាដូចខាងក្រោម៖ _volume = បណ្តោយ x ទទឹង x កំពស់ _ ។ សរសេរអនុគមន៍ដែលគណនា volumeOfRectPrism ។
-
ផ្ទៃដីនៃរង្វង់ត្រូវបានគណនាដូចខាងក្រោម៖ area = π x r x r ។ សរសេរអនុគមន៍ដែលគណនា areaOfCircle
-
រង្វង់រង្វង់ត្រូវបានគណនាដូចខាងក្រោម៖ circumference = 2πr ។ សរសេរអនុគមន៍ដែលគណនា circumOfCircle
-
ដង់ស៊ីតេនៃសារធាតុត្រូវបានគណនាដូចខាងក្រោម៖ _ដង់ស៊ីតេ = ម៉ាស/បរិមាណ _។ សរសេរអនុគមន៍ដែលគណនា ដង់ស៊ីតេ។
-
ល្បឿនត្រូវបានគណនាដោយបែងចែកចម្ងាយសរុបដែលគ្របដណ្ដប់ដោយវត្ថុផ្លាស់ទីចែកនឹងចំនួនសរុបនៃពេលវេលាដែលបានយក សរសេរអនុគមន៍ដែលគណនាល្បឿននៃវត្ថុផ្លាស់ទី speed ។
-
ទំងន់នៃសារធាតុមួយត្រូវបានគណនាដូចខាងក្រោម: weight = mass x gravity. សរសេរមុខងារដែលគណនា weight ។
-
សីតុណ្ហភាពក្នុង oC អាចបំប្លែងទៅជា oF ដោយប្រើរូបមន្តនេះ៖ oF = (oC x 9/5) + 32 ។ សរសេរមុខងារដែលបំលែង oC ទៅជា oF convertCelsiusToFahrenheit ។
-
Body Mass Index (BMI) ត្រូវបានគណនាដូចខាងក្រោម៖ bmi = ទម្ងន់គិតជា Kg / (កម្ពស់ x កម្ពស់) ក្នុង m2 ។ សរសេរអនុគមន៍ដែលគណនា bmi ។ BMI ត្រូវបានប្រើដើម្បីកំណត់យ៉ាងទូលំទូលាយក្រុមទម្ងន់ផ្សេងៗគ្នាចំពោះមនុស្សពេញវ័យដែលមានអាយុចាប់ពី 20 ឆ្នាំឡើងទៅ។ ពិនិត្យមើលថាតើមនុស្សម្នាក់មានទម្ងន់ _ ក្រោម ធម្មតា លើសទម្ងន់ _ ឬ ធាត់ ដោយផ្អែកលើព័ត៌មានដែលបានផ្តល់ឱ្យខាងក្រោម។
- ក្រុមដូចគ្នាអនុវត្តចំពោះបុរសនិងស្ត្រី។
- Underweight: BMI តិចជាង 18.5
- ទម្ងន់ធម្មតា៖ BMI គឺ 18.5 ដល់ 24.9
- លើសទម្ងន់៖ BMI គឺ 25 ទៅ 29.9
- Obese: BMI is 30 or more
-
សរសេរមុខងារមួយហៅថា checkSeason វាយកខែ ហើយត្រឡប់រដូវកាលវិញ៖ សរទរដូវ រដូវរងា និទាឃរដូវ ឬរដូវក្តៅ។
-
Math.max ត្រឡប់អាគុយម៉ង់ធំបំផុតរបស់វា។ សរសេរអនុគមន៍ findMax ដែលយកអាគុយម៉ង់បី ហើយត្រឡប់អតិបរមារបស់វាដោយមិនប្រើវិធីសាស្ត្រ Math.max ។
console.log(findMax(0, 10, 5)) 10 console.log(findMax(0, -10, -2)) 0
លំហាត់៖ កម្រិត ២
-
សមីការលីនេអ៊ែរត្រូវបានគណនាដូចខាងក្រោមៈ ax + ដោយ + c = 0 ។ សរសេរអនុគមន៍ដែលគណនាតម្លៃនៃសមីការលីនេអ៊ែរ solveLinEquation។
-
សមីការការ៉េត្រូវបានគណនាដូចខាងក្រោម៖ ax2 + bx + c = 0 ។ សរសេរអនុគមន៍ដែលគណនាតម្លៃនៃសមីការការ៉េ solveQuadEquation។
console.log(solveQuadratic()) // {0} console.log(solveQuadratic(1, 4, 4)) // {-2} console.log(solveQuadratic(1, -1, -2)) // {2, -1} console.log(solveQuadratic(1, 7, 12)) // {-3, -4} console.log(solveQuadratic(1, 0, -4)) //{2, -2} console.log(solveQuadratic(1, -1, 0)) //{1, 0}
-
ប្រកាសឈ្មោះមុខងារ printArray ។ វាយកអារេជាប៉ារ៉ាម៉ែត្រ ហើយវាបោះពុម្ពចេញតម្លៃនីមួយៗនៃអារេ។
-
សរសេរឈ្មោះមុខងារ showDateTime ដែលបង្ហាញពេលវេលាក្នុងទម្រង់នេះ៖ 08/01/2020 04:08 ដោយប្រើវត្ថុកាលបរិច្ឆេទ។
showDateTime() 08/01/2020 04:08
-
ប្រកាសឈ្មោះមុខងារ swapValues ។ មុខងារនេះប្តូរតម្លៃនៃ x ទៅ y ។
swapValues(3, 4) // x => 4, y=>3 swapValues(4, 5) // x = 5, y = 4
-
ប្រកាសឈ្មោះមុខងារ reverseArray ។ វាយកអារេជាប៉ារ៉ាម៉ែត្រ ហើយវាត្រឡប់ការបញ្ច្រាសនៃអារេ (កុំប្រើ method)។
console.log(reverseArray([1, 2, 3, 4, 5])) //[5, 4, 3, 2, 1] console.log(reverseArray(['A', 'B', 'C'])) //['C', 'B', 'A']
-
ប្រកាសឈ្មោះមុខងារ capitalizeArray ។ វាយកអារេជាប៉ារ៉ាម៉ែត្រមួយហើយវាត្រឡប់ - អក្សរធំ។
-
ប្រកាសឈ្មោះមុខងារ addItem ។ វាត្រូវការប៉ារ៉ាម៉ែត្រធាតុមួយ ហើយវាត្រឡប់អារេមួយបន្ទាប់ពីបន្ថែមធាតុ
-
ប្រកាសឈ្មោះមុខងារ removeItem ។ វាត្រូវការប៉ារ៉ាម៉ែត្រ index ហើយវាត្រឡប់អារេមួយបន្ទាប់ពីយកធាតុចេញ
-
ប្រកាសឈ្មោះអនុគមន៍ sumOfNumbers ។ វាត្រូវការប៉ារ៉ាម៉ែត្រលេខ ហើយវាបូកលេខទាំងអស់នៅក្នុងជួរនោះ។
-
ប្រកាសឈ្មោះមុខងារ sumOfOdds ។ វាត្រូវការប៉ារ៉ាម៉ែត្រលេខមួយ ហើយវាបន្ថែមលេខសេសទាំងអស់នៅក្នុងជួរនោះ។
-
ប្រកាសឈ្មោះមុខងារ sumOfEven ។ វាត្រូវការប៉ារ៉ាម៉ែត្រលេខមួយ ហើយវាបន្ថែមលេខគូទាំងអស់ក្នុងជួរនោះ។
-
ប្រកាសឈ្មោះមុខងារ evensAndOdds ។ វាយកចំនួនគត់វិជ្ជមានជាប៉ារ៉ាម៉ែត្រ ហើយវារាប់ចំនួនគូ និងសេសក្នុងចំនួន។
evensAndOdds(100); The number of odds are 50. The number of evens are 51.
-
សរសេរអនុគមន៍ដែលយកចំនួនអាគុយម៉ង់ណាមួយ ហើយត្រឡប់ផលបូកនៃអាគុយម៉ង់
sum(1, 2, 3) // -> 6 sum(1, 2, 3, 4) // -> 10
-
សរសេរ function ដែលបង្កើត randomUserIp ។
-
សរសេរ function ដែលបង្កើត randomMacAddress
-
ប្រកាស functino ឈ្មោះ randomHexaNumberGenerator ។ function ឲលេខគោលដប់ប្រាំមួយចៃដន្យ។
console.log(randomHexaNumberGenerator()); '#ee33df'
-
ប្រកាសឈ្មោះ function userIdGenerator ។ នៅពេលដែលមុខងារនេះត្រូវបានគេហៅថា វាបង្កើតលេខសម្គាល់តួអក្សរប្រាំពីរ។ មុខងារបញ្ជូនលេខសម្គាល់មកវិញ។
console.log(userIdGenerator()); 41XTDbE
លំហាត់៖ កម្រិត ៣
-
កែប្រែ function userIdGenerator ។ ប្រកាសឈ្មោះ function userIdGeneratedByUser ។ វាមិនយកប៉ារ៉ាម៉ែត្រតែមួយទេ ប៉ុន្តែវាត្រូវការបញ្ចូលពីរដោយប្រើ prompt() ។ ការបញ្ចូលមួយគឺចំនួនតួអក្សរ ហើយការបញ្ចូលទីពីរគឺជាចំនួនលេខសម្គាល់ដែលសន្មត់ថាត្រូវបានបង្កើត។
userIdGeneratedByUser() 'kcsy2 SMFYb bWmeq ZXOYh 2Rgxf ' userIdGeneratedByUser() '1GCSgPLMaBAVQZ26 YD7eFwNQKNs7qXaT ycArC5yrRupyG00S UbGxOFI7UXSWAyKN dIV0SSUTgAdKwStr '
-
សរសេរឈ្មោះ function rgbColorGenerator ហើយវាបង្កើតពណ៌ rgb ។
rgbColorGenerator() rgb(125,244,255)
-
សរសេរ functino arrayOfHexaColors ដែលត្រឡប់ចំនួនពណ៌គោលដប់ប្រាំមួយក្នុងអារេមួយ។
-
សរសេរមុខងារ arrayOfRgbColors ដែលត្រឡប់ចំនួនពណ៌ RGB ណាមួយនៅក្នុងអារេមួយ។
-
សរសេរមុខងារ convertHexaToRgb ដែលបំប្លែងពណ៌ hexa ទៅ rgb ហើយវាត្រឡប់ពណ៌ rgb ។
-
សរសេរមុខងារ convertRgbToHexa ដែលបំប្លែង rgb ទៅជាពណ៌គោលដប់ប្រាំមួយ ហើយវាត្រឡប់ពណ៌ hex មួយ។
-
សរសេរមុខងារ generateColors ដែលអាចបង្កើតចំនួនពណ៌ hex ឬ rgb ណាមួយ។
console.log(generateColors('hexa', 3)) // ['#a3e12f', '#03ed55', '#eb3d2b'] console.log(generateColors('hexa', 1)) // '#b334ef' console.log(generateColors('rgb', 3)) // ['rgb(5, 55, 175)', 'rgb(50, 105, 100)', 'rgb(15, 26, 80)'] console.log(generateColors('rgb', 1)) // 'rgb(33,79, 176)'
-
ហៅមុខងាររបស់អ្នក shuffleArray វាយកអារេជាប៉ារ៉ាម៉ែត្រ ហើយវាត្រឡប់អារេដែលសាប់
-
ហៅទៅមុខងាររបស់អ្នក factorial វាយកលេខទាំងមូលជាប៉ារ៉ាម៉ែត្រ ហើយវាត្រឡប់លេខហ្វាតូរីស
-
ហៅមុខងាររបស់អ្នក isEmpty វាត្រូវការប៉ារ៉ាម៉ែត្រ ហើយវាពិនិត្យមើលថាតើវាទទេឬអត់
-
ហៅទៅអនុគមន៍ sum របស់អ្នក វាយកចំនួនអាគុយម៉ង់ណាមួយ ហើយវាត្រឡប់ផលបូក។
-
សរសេរអនុគមន៍មួយហៅថា sumOfArrayItems វាយកប៉ារ៉ាម៉ែត្រអារេមួយ ហើយត្រឡប់ផលបូកនៃធាតុទាំងអស់។ ពិនិត្យមើលថាតើធាតុអារេទាំងអស់ជាប្រភេទលេខឬអត់។ បើមិនផ្តល់មតិត្រឡប់សមហេតុផល។
-
សរសេរអនុគមន៍មួយហៅថា average វាត្រូវការប៉ារ៉ាម៉ែត្រអារេមួយ ហើយត្រឡប់ជាមធ្យមនៃធាតុ។ ពិនិត្យមើលថាតើធាតុអារេទាំងអស់ជាប្រភេទលេខឬអត់។ បើមិនផ្តល់មតិត្រឡប់សមហេតុផល។
-
សរសេរអនុគមន៍មួយហៅថា modifyArray ដែលយកអារេជាប៉ារ៉ាម៉ែត្រ ហើយកែប្រែធាតុទីប្រាំនៃអារេ ហើយត្រឡប់អារេ។ ប្រសិនបើប្រវែងអារេតិចជាងប្រាំ វាត្រឡប់ 'រកមិនឃើញធាតុ' ។
console.log(modifyArray(['Avocado', 'Tomato', 'Potato','Mango', 'Lemon','Carrot']);
['Avocado', 'Tomato', 'Potato','Mango', 'LEMON', 'Carrot']
console.log(modifyArray(['Google', 'Facebook','Apple', 'Amazon','Microsoft', 'IBM']);
['Google', 'Facebook','Apple', 'Amazon','MICROSOFT', 'IBM']
console.log(modifyArray(['Google', 'Facebook','Apple', 'Amazon']);
'Not Found'
-
សរសេរមុខងារមួយហៅថា isPrime ដែលពិនិត្យមើលថាតើលេខមួយគឺជាលេខបឋមឬអត់។ 1.សរសេរមុខងារដែលពិនិត្យមើលថាតើធាតុទាំងអស់មានតែមួយគត់នៅក្នុងអារេ។
-
សរសេរមុខងារដែលពិនិត្យមើលថាតើធាតុទាំងអស់នៃអារេគឺជាប្រភេទទិន្នន័យដូចគ្នាឬអត់។
-
ឈ្មោះអថេរ JavaScript មិនគាំទ្រតួអក្សរ ឬនិមិត្តសញ្ញាពិសេស លើកលែងតែ $ ឬ _ ។ សរសេរមុខងារ isValidVariable ដែលពិនិត្យមើលថាតើអថេរមួយត្រឹមត្រូវ ឬអថេរអថេរ។
-
សរសេរអនុគមន៍ដែលត្រឡប់អារេនៃលេខចៃដន្យប្រាំពីរក្នុងជួរ 0-9 ។ លេខទាំងអស់ត្រូវតែមានតែមួយ។
sevenRandomNumbers() [(1, 4, 5, 7, 9, 8, 0)]
-
សរសេរអនុគមន៍មួយហៅថា reverseCountries វាយកប្រទេសអារេ ហើយដំបូងវាចម្លងអារេ ហើយត្រឡប់អារេបញ្ច្រាសដើម
🎉 អបអរសាទរ ! 🎉