تحديات كودرهب جافاسكربت - الجزء السادس (Coderhub Challenges of JS - Part 6)

    لقد تم نشر هذا الفيديو في 21 من سبتمبر 2021



تحويل رقم ثنائي إلى رقم ثماني

قم بكتابة دالة function تستقبل متغير من نوع string يعبر عن قيمة ثمانية binary number، ثم قم بإرجاع النتيجة بعد التحويل الى قيمة ست عشرية octal number بنوع int
function binToOct(b) {
    // write your code here
    var octal = parseInt(b, 2).toString(8);
    return octal;
}

تحويل رقم ثماني إلى رقم ثنائي

قم بكتابة دالة function تستقبل متغير من نوع int يعبر عن قيمة ثمانية octal number، ثم قم بإرجاع النتيجة بعد التحويل الى قيمة ثنائية binary number من نوع string.

function octToBin(octal) {
    // write your code here
    var binary = parseInt(octal, 8).toString(2);
    return binary;
}

فصل الكلمات

قم بكتابة دالة function تستقبل قيمة نصية من نوع string ، تقوم الدالة بفصل الكلمات عند ملاحظة حرف كبير بوضع مسافه وتحويله لحرف صغير، ثم قم بارجاع النتيجة من نوع string

function capSpace(txt) {
    // write your code here
    words = txt.split(/(?=[A-Z])/)
    word = words.map(name => name.toLowerCase());
    return word.reduce((a, b) => a + " " + b);
}

جمع عددين داخل قيمة نصية

قم بكتابة دالة function تستقبل قيمتين نصية من نوع string ، في حال كانت القيمتين المدخلتين تحتوي على أعداد تقوم الدالة بجمع الأعداد و إرجاعها كقيمة نصية ، و في حال كانت أحد المدخلات تحتوي على أحرف تقوم بإرجاع -1 كقيمة نصية

function addStrNums(num1, num2) {
    // write your code here
    result = parseInt(num1) + parseInt(num2);
    if (isNaN(result)) {
        return -1;
    } else {
        return result;
    }
}

طرح عددين بدون علامة الطرح

قم بكتابة function تستقبل عددين موجبين من نوع integer، تقوم الـ function بطرح العددين بدون استخدام علامة الطرح -. ثم تقوم بإرجاع ناتج عملية الطرح بعد ذلك

function mySub(num1, num2) {
    // write your code here
    // Iterate till there
    // is no carry
    if (num2 == 0)
        return num1;

    while (num2 != 0) {
        // borrow contains common
        // set bits of y and unset
        // bits of x
        let borrow = (~num1) & num2;

        // Subtraction of bits of x
        // and y where at least one
        // of the bits is not set
        num1 = num1 ^ num2;

        // Borrow is shifted by one
        // so that subtracting it from
        // x gives the required sum
        num2 = borrow << 1;
    }
    return num1;
}


التحقق من العملية الرياضية

قم بكتابة دالة function تستقبل قيمة نصية من نوع string ، تقوم الدالة بالتحقق هل القيمة النصية تمثل عملية رياضية أم لا ثم قم بارجاع النتيجة من نوع boolean

function mathExpr(expr) {
    // write your code here
    arr = [];
    result = 0;
    words = txt.split(/(?=[A-Z])/)

    if (expr.includes(/(?=[*/-+])/)) {
        arr = expr.split('+');
        result = parseInt(arr[0]) + parseInt(arr[1]);
    } else if (expr.includes("*")) {
        arr = expr.split('*');
        result = parseInt(arr[0]) * parseInt(arr[1]);

    } else if (expr.includes("/")) {
        arr = expr.split('/');
        result = parseInt(arr[0]) / parseInt(arr[1]);

    } else if (expr.includes("-")) {
        arr = expr.split('-');
        result = parseInt(arr[0]) - parseInt(arr[1]);

    }
    else if (expr.includes("%")) {
        arr = expr.split('%');
        result = parseInt(arr[0]) % parseInt(arr[1]);

    } else {
        return false;
    }


    if (isNaN(result)) {
        return false;
    } else {
        return result;
    }
}


أشكركم على متابعتي أخوكم:

م. عبدالله السالم - للمزيد عني اضغط هنا




تعليقات

المشاركات الشائعة من هذه المدونة

تحديات كودرهب جافاسكربت - الجزء الثالث (Coderhub Challenges of JS - Part 3)

تحديات كودرهب جافاسكربت - الجزء السابع (Coderhub Challenges of JS - Part 7)

تحديات كودرهب جافاسكربت - الجزء الأول (Coderhub Challenges of JS - Part 1)