Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีเก็บสองอาร์เรย์เป็นคีย์-ค่าในออบเจกต์เดียวด้วย JavaScript


สมมติว่าเรามีอาร์เรย์ค่าคงที่สองอาร์เรย์ที่มีความยาวเท่ากันดังนี้

const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed']; const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false];

เราต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ทั้งสองนี้

ฟังก์ชันควรสร้างออบเจกต์แมปปิงองค์ประกอบของอาร์เรย์ที่สองไปยังองค์ประกอบที่สอดคล้องกันของอาร์เรย์แรก

เราจะใช้เมธอด Array.prototype.reduce() เพื่อวนลูปผ่านอาร์เรย์ สร้างออบเจกต์

ตัวอย่างโค้ด

โค้ดสำหรับการทำงานนี้จะเป็นดังนี้

const arr1 = ['firstName', 'lastName', 'age', 'address', 'isEmployed']; const arr2 = ['Rahul', 'Sharma', 23, 'Tilak Nagar', false]; 
const mapArrays = (arr1 = [], arr2 = []) => { 
  const res = arr1.reduce((acc,elem,index)=>{ 
    acc[elem]=arr2[index]; 
    return acc; 
  },{}); 
  return res; 
}; 
console.log(mapArrays(arr1, arr2));

ผลลัพธ์

ผลลัพธ์ในคอนโซลจะเป็นดังนี้

{ 
  firstName: 'Rahul', 
  lastName: 'Sharma', 
  age: 23, 
  address: 'Tilak Nagar', 
  isEmployed: false 
}