Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

วนซ้ำผ่านคีย์อ็อบเจ็กต์และจัดการค่าคีย์ใน JavaScript


สมมติว่าเรามีอาร์เรย์ของวัตถุเช่นนี้ -

const arr = [
   {
      col1: ["a", "b"],
      col2: ["c", "d"]
   },
   {
      col1: ["e", "f"],
      col2: ["g", "h"]
   }
];

เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ดังกล่าวและส่งกลับเอาต์พุตต่อไปนี้

const output = [
   {
      col1: "b",
      col2: "d"
   },
   {
      col1: "f",
      col2: "h"
   }
];

โดยพื้นฐานแล้ว เราต้องการแปลงค่าคีย์อ็อบเจ็กต์ซึ่งเป็นอาร์เรย์เริ่มต้นเป็นค่าเดียว และค่านั้นจะเป็นองค์ประกอบที่สองของอาร์เรย์คีย์ออบเจ็กต์

รหัสสำหรับสิ่งนี้จะเป็น −

const arr = [
   {
      col1: ["a", "b"],
      col2: ["c", "d"]
   },
   {
      col1: ["e", "f"],
      col2: ["g", "h"]
   }
];
const reduceArray = (arr = []) => {
   const res = arr.reduce((s,a) => {
      const obj = {};
      Object.keys(a).map(function(c) {
         obj[c] = a[c][1];
      });
      s.push(obj);
      return s;
   }, []);
   return res;
};
console.log(reduceArray(arr));

และผลลัพธ์ในคอนโซลจะเป็น −

[ { col1: 'b', col2: 'd' }, { col1: 'f', col2: 'h' } ]