สมมติว่าเรามีสองอาร์เรย์ แต่ละอาร์เรย์มี 3 สมาชิก คือค่า red, green, blue ของสีในจำนวนเต็ม
หน้าที่คือบวกค่าที่ตรงกันเพื่อสร้างอาร์เรย์สี rgb ใหม่ และถ้าค่าไหนบวกแล้วเกิน 255 ให้จำกัดค่านั้นไว้ที่ 255
กำหนดฟังก์ชัน addColors() รับสองอาร์กิวเมนต์ ทั้งคู่เป็นอาร์เรย์ คืนอาร์เรย์ใหม่ตามอินพุต
โค้ด
ตัวอย่าง
const color1 = [45, 125, 216];
const color2 = [89, 180, 78];
const addColors = (color1, color2) => {
const newColor = color1.map((val, index) => {
return val + color2[index] <= 255 ? val + color2[index] : 255;
})
return newColor;
};
console.log(addColors(color1, color2));
ผลลัพธ์
ผลลัพธ์ในคอนโซลจะเป็น
[ 134, 255, 255 ]
เรา map ผ่านสีแรก บวกค่าที่ตรงกันของสีที่สอง หากค่าเกิน 255 คืน 255 มิฉะนั้นคืนค่าที่บวกแล้ว ดังนั้นฟังก์ชัน addColors() จะทำงานได้ตามต้องการ