freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-an.../basic-data-structures/modify-an-array-stored-in-a...

4.0 KiB

id title challengeType videoUrl localeTitle
587d7b7d367417b2b2512b1f Modify an Array Stored in an Object 1 تعديل صفيف مخزنة في كائن

Description

لقد شاهدت الآن جميع العمليات الأساسية لكائنات جافا سكريبت. يمكنك إضافة أو تعديل أو إزالة أزواج قيمة المفتاح ، والتحقق من وجود المفاتيح ، وتكرارها على كافة المفاتيح الموجودة في كائن ما. أثناء متابعة تعلم لغة JavaScript ، سترى تطبيقات أكثر تنوعًا للكائنات. بالإضافة إلى ذلك ، فإن دروس "هياكل البيانات المتقدمة" الاختيارية في وقت لاحق في المنهج تغطي أيضًا كائنات ES6 Map و Set ، وكلاهما مشابهان للكائنات العادية ولكن مع توفير بعض الميزات الإضافية. الآن بعد أن تعلمت أساسيات المصفوفات والأشياء ، فأنت مستعد تمامًا للبدء في معالجة مشكلات أكثر تعقيدًا باستخدام JavaScript!

Instructions

ألق نظرة على الكائن الذي قدمناه في محرر الشفرات. يحتوي كائن user على ثلاثة مفاتيح. يحتوي مفتاح data على خمسة مفاتيح ، يحتوي أحدها على مجموعة من friends . من هذا ، يمكنك أن ترى كيف الأجسام المرنة هي هياكل البيانات. لقد بدأنا في كتابة وظيفة addFriend . قم بإنهاء الكتابة بحيث تأخذ كائن user وتضيف اسم وسيطة friend إلى الصفيف المخزن في user.data.friends وتقوم بإرجاع هذا الصفيف.

Tests

tests:
  - text: يحتوي كائن <code>user</code> على <code>name</code> <code>age</code> ومفاتيح <code>data</code>
    testString: 'assert("name" in user && "age" in user && "data" in user, "The <code>user</code> object has <code>name</code>, <code>age</code>, and <code>data</code> keys");'
  - text: تقبل وظيفة <code>addFriend</code> كائن <code>user</code> وسلسلة <code>friend</code> كوسيطة وتضيف الصديق إلى مصفوفة <code>friends</code> في كائن <code>user</code>
    testString: 'assert((function() { let L1 = user.data.friends.length; addFriend(user, "Sean"); let L2 = user.data.friends.length; return (L2 === L1 + 1); })(), "The <code>addFriend</code> function accepts a <code>user</code> object and a <code>friend</code> string as arguments and adds the friend to the array of <code>friends</code> in the <code>user</code> object");'
  - text: '<code>addFriend(user, &quot;Pete&quot;)</code> <code>[&quot;Sam&quot;, &quot;Kira&quot;, &quot;Tomo&quot;, &quot;Pete&quot;]</code>'
    testString: 'assert.deepEqual((function() { delete user.data.friends; user.data.friends = ["Sam", "Kira", "Tomo"]; return addFriend(user, "Pete") })(), ["Sam", "Kira", "Tomo", "Pete"], "<code>addFriend(user, "Pete")</code> should return <code>["Sam", "Kira", "Tomo", "Pete"]</code>");'

Challenge Seed

let user = {
  name: 'Kenneth',
  age: 28,
  data: {
    username: 'kennethCodesAllDay',
    joinDate: 'March 26, 2016',
    organization: 'freeCodeCamp',
    friends: [
      'Sam',
      'Kira',
      'Tomo'
    ],
    location: {
      city: 'San Francisco',
      state: 'CA',
      country: 'USA'
    }
  }
};

function addFriend(userObj, friend) {
  // change code below this line

  // change code above this line
}

console.log(addFriend(user, 'Pete'));

Solution

// solution required