Files
2023-02-17 17:00:49 +02:00

2.6 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244c6 قف في الصف 1 https://scrimba.com/c/ca8Q8tP 18307 stand-in-line

--description--

في علوم الحاسب (Computer Science) الصف أو queue هو هيكل بيانات (Data Structure) مجرد، حيث يتم حفظ العناصر بالترتيب. يمكن إضافة عناصر جديدة في الجزء الخلفي من الصف ويتم إزالة العناصر القديمة من مقدمة الصف.

--instructions--

اكتب الوظيفة nextInLine و التي تأخذ القائمة الآتية (arr) ورَقْم (item) كمعطيات.

أضف الرَقْم إلى نهاية القائمة، ثم أزل العنصر الأول من القائمة.

يجب أن تقوم وظيفة nextInLine بإرجاع العنصر الذي تمت إزالته.

--hints--

يجب أن ينتج nextInLine([], 5) رَقْم.

assert.isNumber(nextInLine([], 5));

يجب أن ينتج nextInLine([], 1) رَقْم 1

assert(nextInLine([], 1) === 1);

يجب أن ينتج nextInLine([2], 1) رَقْم 2

assert(nextInLine([2], 1) === 2);

يجب أن ينتج nextInLine([5,6,7,8,9], 1) رَقْم 5

assert(nextInLine([5, 6, 7, 8, 9], 1) === 5);

بعد nextInLine(testArr, 10), يجب أن يتكون testArr[4] من 10

nextInLine(testArr, 10);
assert(testArr[4] === 10);

--seed--

--before-user-code--

var logOutput = [];
var originalConsole = console
function capture() {
    var nativeLog = console.log;
    console.log = function (message) {
        logOutput.push(message);
        if(nativeLog.apply) {
          nativeLog.apply(originalConsole, arguments);
        } else {
          var nativeMsg = Array.prototype.slice.apply(arguments).join(' ');
          nativeLog(nativeMsg);
        }
    };
}

function uncapture() {
  console.log = originalConsole.log;
}

capture();

--after-user-code--

uncapture();
testArr = [1,2,3,4,5];
(function() { return logOutput.join("\n");})();

--seed-contents--

function nextInLine(arr, item) {
  // Only change code below this line

  return item;
  // Only change code above this line
}

// Setup
let testArr = [1, 2, 3, 4, 5];

// Display code
console.log("Before: " + JSON.stringify(testArr));
console.log(nextInLine(testArr, 6));
console.log("After: " + JSON.stringify(testArr));

--solutions--

let testArr = [1, 2, 3, 4, 5];

function nextInLine(arr, item) {
    arr.push(item);
    return arr.shift();
}