أسئلة مقابلة JS من إحدى الشركات في عام 2008، الوظيفة هي مهندس جافا سكريبت (الذهاب إلى Google)
سألني القائم بإجراء المقابلة عن كيفية استنساخ مصفوفة في ذلك الوقت، وفكرت في ذلك. لا يحتوي كائن js على طريقة استنساخ، ولكن كائن Java لديه طريقة.
فكيف تحصل على مجموعة جديدة؟
أجبت في ذلك الوقت: استخدم حلقة لدفع عناصر المصفوفة المصدر إلى المصفوفة الجديدة بالتسلسل. هذه هي أبسط طريقة، ولكن من الواضح أنها ليست الإجابة التي يريدها القائم بإجراء المقابلة.
أخبرني أخيرًا: استخدم طريقة الشريحة الخاصة بـ Array. الأمثلة هي كما يلي:
انسخ رمز الكود كما يلي:
var ary = [1,2,3];//مصفوفة المصدر
var ary2 = ary.slice(0);//استنساخ مصفوفة جديدة
console.log(ary2);
/* لن يؤثر تغيير ary2 على ary، مما يشير إلى أنهما في الواقع مصفوفتان وليسا مرجعين.
* إذا كان هناك مرجعين، فإن تغيير أي منهما يعد عملية على نفس المصفوفة
*/
ary2[0] = 10;
console.log(ary2);
console.log(ary);