Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript
JavaScript
  1. การจับคู่ Regular Expression (Regex Matching) ใน JavaScript

    ต้อง implement การจับคู่ regular expression รองรับ . (match ตัวอักษรเดี่ยวใดๆ) และ * (match ศูนย์หรือมากกว่าของตัวอักษรก่อนหน้า) ต้องจับคู่ทั้งสตริง (ไม่ใช่ partial) ใช้ Dynamic Programming (DP) สร้างตาราง match[m+1][n+1] ตัวอย่างโค้ด Array(p.length + 1).fill(null)); match[0][0] = true; for (le

  2. การดึงตัวเลขออกจากสตริงใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับสตริงที่อาจมีตัวเลขฝังอยู่ ดึงตัวเลขทั้งหมดออกมาและรวมเป็นตัวเลขใหม่ หากไม่มีตัวเลข ให้คืน 0 ตัวอย่าง: sfsd8fsdf6dsfsd8sdfs28fd0 → 868280 ตัวอย่างโค้ด const str = sfsd8fsdf6dsfsd8sdfs28fd0; const pickNumbers = (str = ) => { let res = 0; for (let i = 0; i < str.lengt

  3. การตรวจสอบว่าสร้างสตริงที่ 2 ได้จากการลบตัวอักษรจากสตริงที่ 1 โดยไม่เรียงลำดับใหม่ใน JavaScript

    เราต้องเขียนฟังก์ชันตรวจสอบว่า str2 สร้างได้จาก str1 โดยการลบตัวอักษรบางส่วนเท่านั้น (ไม่เปลี่ยนลำดับตัวอักษรที่เหลือ) ตัวอย่าง: str1=sjkfampeflef, str2=sample → true ตัวอย่างโค้ด const str1 = sjkfampeflef; const str2 = sample; const checkConvertibility = (str1 = , str2 = ) => { if (!str1 || !

  4. การหาผลคูณที่มากที่สุดของสามตัวเลขในอาร์เรย์ JavaScript

    เราต้องหาผลคูณของสามตัวเลขในอาร์เรย์ที่ให้ผลคูณมากที่สุด อาจมีตัวเลขลบอยู่ในอาร์เรย์ สังเกตว่าผลคูณมากที่สุดจะเป็นค่าสูงกว่าระหว่าง: (min1 * min2 * max1) และ (max1 * max2 * max3) ตัวอย่าง: [-10, 7, 29, 30, 5, -10, -70] → 30 * -10 * -70 = 21000 ตัวอย่างโค้ด len - 3; i--) { pro1 = pro1 * arr[i]; }

  5. การหาความต่างระหว่างค่าสูงสุดและต่ำสุดกับเงื่อนไขลำดับใน JavaScript

    เราต้องหาความต่างระหว่างค่าสูงสุดและต่ำสุดในอาร์เรย์ แต่เงื่อนไขคือค่าต่ำสุดต้องปรากฏก่อนค่าสูงสุดในอาร์เรย์เดิม ตัวอย่าง: [2, 5, 6, 12, 1] → ค่าสูงสุด 12, ต่ำสุด 1 แต่ 1 อยู่หลัง 12 → ใช้ 2 แทน → 12-2=10 ตัวอย่างโค้ด const arr = [2, 5, 6, 12, 1]; const findLargestDifference = (arr = []) => {

  6. การสร้าง Product Array (อาร์เรย์ผลคูณ) ใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลข สร้างอาร์เรย์ใหม่ที่แต่ละตำแหน่งเป็นผลคูณของสมาชิกอื่นๆ ทั้งหมดในอาร์เรย์เดิม (ไม่รวมตัวเอง) ทำใน O(n) time และ O(1) space (ไม่นับอาร์เรย์ผลลัพธ์) ตัวอย่าง: [1,2,3,4,5] → [120, 60, 40, 30, 24] ตัวอย่างโค้ด const arr = [1, 2, 3, 4, 5]; const exclusiveProduct

  7. การหาส่วนร่วมที่ไม่ซ้ำกัน (Unique Intersection) ของสองอาร์เรย์ใน JavaScript

    เราต้องเขียนฟังก์ชันหาส่วนร่วม (intersection) ของสองอาร์เรย์ โดยค่าที่ซ้ำกันในทั้งสองอาร์เรย์จะนับเพียงครั้งเดียวในผลลัพธ์ ตัวอย่าง: arr1=[1,5,7,3,1], arr2=[1,7,3,1,6] → [1,3,7] (ลำดับไม่สำคัญ) ตัวอย่างโค้ด const arr1 = [1, 5, 7, 3, 1]; const arr2 = [1, 7, 3, 1, 6]; const uniqueIntersection = (arr1

  8. การกลับลำดับคำในสตริงใน JavaScript (ห้ามใช้ reverse())

    เราต้องเขียนฟังก์ชันกลับลำดับคำในสตริง โดยห้ามใช้เมธอด reverse() ของอาร์เรย์ ตัวอย่าง: this is a string → string a is this ตัวอย่างโค้ด const str = this is a string; const reverseWordOrder = (str = ) => { const strArr = str.split( ); let temp = ; const { length } = strArr; for (let i = 0

  9. การแปลงฐานสิบเป็นฐานสอง (Decimal to Binary) ด้วย Recursion ใน JavaScript

    เราต้องเขียนฟังก์ชันแปลงตัวเลขฐานสิบเป็นสตริงฐานสองโดยใช้การเรียกซ้ำ (recursion) ตัวอย่าง: f(4)=100, f(1000)=1111101000, f(8)=1000 ตัวอย่างโค้ด = 1) { if (num % 2) { return decimalToBinary((num - 1) / 2) + 1; } else { return decimalToBinary(num / 2) + 0; } } else { retu

  10. พฤติกรรมแปลกของ delete operator กับอาร์เรย์ใน JavaScript

    ตัวดำเนินการ delete ใน JavaScript เป็นตัวดำเนินการสำหรับออบเจกต์ แต่เนื่องจากอาร์เรย์ก็เป็นออบเจกต์แบบมีดัชนี จึงใช้ delete กับอาร์เรย์ได้ ตัวอย่าง: const arr = [a,b,c,d,e]; delete arr[4]; ผลลัพธ์: อาร์เรย์ยังคงมี length = 5 แต่ index 4 กลายเป็น (ช่องว่าง) ตัวอย่างโค้ด const arr = [a, b, c, d, e];

  11. การหาผลรวมของสมาชิกสลับกัน (Alternative Elements) ในอาร์เรย์ JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลข คำนวณผลรวมของสมาชิกที่อยู่ตำแหน่งคู่ (0, 2, 4, ...) หรือตำแหน่งคี่ตามที่กำหนด ตัวอย่าง: [1,2,3,4,5,6,7] → ผลรวมตำแหน่งคู่ = 1+3+5+7 = 16 ตัวอย่างโค้ด const arr = [1, 2, 3, 4, 5, 6, 7]; const alternativeSum = (arr = []) => { let sum = 0; for (let i = 0

  12. การหาฟ้า (Century) จากปี ค.ศ. ใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับปี (ตัวเลขหรือสตริง) คืนศตวรรษที่ปีนั้นอยู่ ตัวอย่าง: 2000 → 20, 1999 → 20, 2002 → 21 ตัวอย่างโค้ด const centuryFromYear = year => { if (typeof year == string) { if (year.toString().slice(-2) == 00) { return year.toString().slice(0,2); } else { return (Math.flo

  13. การนับจำนวนตัวอักษรที่ซ้ำกันในสองสตริง (Common Character Count) ใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับสองสตริง นับจำนวนตัวอักษรที่ซ้ำกัน (common characters) โดยนับความถี่ด้วย (ถ้าตัวอักษรปรากฏ 2 ครั้งในทั้งสองสตริง นับเป็น 2) ตัวอย่าง: aabbcc และ adcaa → ตัวอักษรซ้ำ: a (2 ครั้ง), a (อีก 1 ครั้ง), c (1 ครั้ง) → รวม 3 ตัวอย่างโค้ด const str1 = aabbcc; const str2 = adcaa; con

  14. การเปรียบเทียบจำนวนเต็มสองจำนวนใน JavaScript

    เราต้องเขียนฟังก์ชันเปรียบเทียบสองจำนวน num1 และ num2 คืน greater ถ้า num1 มากกว่า, smaller ถ้า num2 มากกว่า, equal ถ้าเท่ากัน ตัวอย่างโค้ด num1) { return smaller; } else { return equal; } }; console.log(compareIntegers(12, 56)); // smaller console.log(compareIntegers(72, 56)); // greater consol

  15. การตรวจสอบว่าสตริงจบด้วยตัวอักษรที่ต้องการใน JavaScript (ไม่ใช้เมธอด ES6)

    เราต้องเขียนฟังก์ชันตรวจสอบว่าสตริงจบด้วยตัวอักษรที่กำหนดหรือไม่ โดยห้ามใช้เมธอด ES6 หรือไลบรารี ตัวอย่างโค้ด const str = This is a string; const checkEnding = (str = , char = ) => { const getLast = (str = ) => { const { length } = str; return str[length - 1]; }; return getLast(

  16. การหาตัวเลขที่ใกล้ที่สุดจากอาร์เรย์ใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลขและตัวเลขเป้าหมาย คืนตัวเลขในอาร์เรย์ที่มีความต่างสัมบูรณ์กับเป้าหมายน้อยที่สุด ตัวอย่าง: arr=[34,67,31,53,89,12,4], target=41 → 34 (ต่าง 7) ตัวอย่างโค้ด const arr = [34, 67, 31, 53, 89, 12, 4]; const num = 41; const findClosest = (arr = [], num) => { le

  17. การหาคู่ตัวเลขที่ผลรวมมีอยู่ในอาร์เรย์ใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลข หาคู่ตัวเลขสองตัว (ตำแหน่งต่างกัน) ที่ผลรวมของพวกเขาก็มีอยู่ในอาร์เรย์ด้วย ตัวอย่าง: [1, 3, 5, 6, 8, 9] → [5, 1] (เพราะ 5+1=6 ซึ่งอยู่ในอาร์เรย์) ตัวอย่างโค้ด const arr = [1, 3, 5, 6, 8, 9]; const findPair = (arr = []) => { let count = 0; for (let i =

  18. การแยกตัวประกอบ (Factorize) ของตัวเลขใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับจำนวนเต็มบวก คืนอาร์เรย์ของตัวเลขที่หารลงตัว (factors) ทั้งหมด ตัวอย่าง: 12 → [1, 2, 3, 4, 6, 12] ตัวอย่างโค้ด const findFactors = (num = 1) => { let half = Math.floor(num / 2); const res = [1]; let i, j; num % 2 === 0 ? (i = 2, j = 1) : (i = 3, j = 2); for (i;

  19. การหาค่าสูงสุดและต่ำสุดในอาร์เรย์ที่ไม่ได้เรียงลำดับใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลข หาค่าสูงสุดและต่ำสุดในเวลา O(n) และพื้นที่ O(1) คืนออบเจกต์ {min, max} ตัวอย่างโค้ด const arr = [112, 24, 31, 44, 101, 203, 33, 56]; const findMaxMin = (arr) => { let max = arr[0], min = arr[0]; for (let i = 0; i max) { max = arr[i]; } else if (a

  20. การคำนวณผลรวมสะสม (Cumulative Sum) ที่แต่ละดัชนีใน JavaScript

    เราต้องเขียนฟังก์ชันที่รับอาร์เรย์ตัวเลข สร้างอาร์เรย์ใหม่ที่แต่ละดัชนีเก็บผลรวมของสมาชิกตั้งแต่ต้นจนถึงดัชนีนั้น ตัวอย่าง: [1,2,3,4,5] → [1, 3, 6, 10, 15] ตัวอย่างโค้ด const arr = [1, 2, 3, 4, 5]; const cumulativeSum = arr => { let result = [arr[0]]; for (let i = 1; i < arr.length; i++) {

Total 5941 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:39/298  20-คอมพิวเตอร์/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45