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

เมื่อรวมค่าจาก 2 อาร์เรย์ จะจำกัดค่าในอาร์เรย์ใหม่ได้อย่างไรใน JavaScript

สมมติว่าเรามีสองอาร์เรย์ แต่ละอาร์เรย์มี 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() จะทำงานได้ตามต้องการ