[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"academy-blogs-th-1-1-all-working-with-arrays-and-slices-javascript-vs-go-all--*":3,"academy-blog-translations-jtrpdts7qsyk66s":85},{"data":4,"page":84,"perPage":84,"totalItems":84,"totalPages":84},[5],{"alt":6,"collectionId":7,"collectionName":8,"content":9,"cover_image":10,"cover_image_path":11,"created":12,"created_by":13,"expand":14,"id":78,"keywords":79,"locale":54,"publish_at":80,"scheduled_at":13,"school_blog":76,"short_description":81,"slug":82,"status":74,"title":6,"updated":83,"updated_by":13,"views":77},"JS2GO EP.8 การทำงานกับ Arrays และ Slices ใน JavaScript และ Go","sclblg987654321","school_blog_translations","\u003Cp>ในบทความนี้เราจะมาทำความเข้าใจเกี่ยวกับ Arrays และ Slices ใน JavaScript และ Go โดยจะเปรียบเทียบวิธีการใช้งาน Arrays และ Slices ในทั้งสองภาษา ซึ่งทั้งสองประเภทนี้ใช้ในการจัดเก็บข้อมูลหลายค่าในโครงสร้างเดียวกัน แต่มีการใช้งานที่แตกต่างกันในแต่ละภาษา\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>การทำงานกับ Arrays ใน JavaScript และ Go\u003C\u002Fh2>\u003Ch3>JavaScript:\u003C\u002Fh3>\u003Cp>ใน JavaScript, Array ใช้เพื่อเก็บข้อมูลหลายประเภทในลำดับเดียวกัน และสามารถเพิ่มหรือเอาข้อมูลออกได้ตลอดเวลา\u003C\u002Fp>\u003Cp>การประกาศและการใช้งาน Array:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">let numbers = [1, 2, 3, 4, 5];  \u002F\u002F Array พื้นฐาน\nconsole.log(numbers[0]);  \u002F\u002F เข้าถึงค่าแรกใน Array\nnumbers.push(6);  \u002F\u002F เพิ่มค่าเข้าไปใน Array\nconsole.log(numbers);  \u002F\u002F [1, 2, 3, 4, 5, 6]\nnumbers.pop();  \u002F\u002F ลบค่าตัวสุดท้าย\nconsole.log(numbers);  \u002F\u002F [1, 2, 3, 4, 5]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>คำอธิบาย:\u003C\u002Fp>\u003Cul>\u003Cli>ใน JavaScript, Array สามารถเก็บข้อมูลหลายประเภทได้ และสามารถเพิ่ม\u002Fลบข้อมูลจาก Array ได้ง่าย ๆ โดยใช้เมธอดเช่น \u003Ccode inline=\"\">push()\u003C\u002Fcode>, \u003Ccode inline=\"\">pop()\u003C\u002Fcode>, \u003Ccode inline=\"\">shift()\u003C\u002Fcode>, หรือ \u003Ccode inline=\"\">unshift()\u003C\u002Fcode>.\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>Go:\u003C\u002Fh3>\u003Cp>ใน Go, Array มีขนาดที่คงที่ ซึ่งต้องกำหนดขนาดของ Array ตั้งแต่เริ่มต้น และไม่สามารถเปลี่ยนแปลงขนาดได้หลังจากที่ประกาศแล้ว\u003C\u002Fp>\u003Cp>การประกาศและการใช้งาน Array:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext language-go\">var numbers [5]int = [5]int{1, 2, 3, 4, 5}  \u002F\u002F Array ขนาดคงที่\nfmt.Println(numbers[0])  \u002F\u002F เข้าถึงค่าแรกใน Array\nnumbers[4] = 6  \u002F\u002F แก้ไขค่าของ Array\nfmt.Println(numbers)  \u002F\u002F [1 2 3 4 6]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>คำอธิบาย:\u003C\u002Fp>\u003Cul>\u003Cli>ใน Go, Array จะต้องระบุขนาดเมื่อประกาศและไม่สามารถเปลี่ยนแปลงขนาดได้หลังจากนั้น หากต้องการขยายขนาดของ Array ต้องใช้ Slice แทน\u003C\u002Fli>\u003C\u002Ful>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>การทำงานกับ Slices ใน JavaScript และ Go\u003C\u002Fh2>\u003Ch3>JavaScript:\u003C\u002Fh3>\u003Cp>ใน JavaScript, Array สามารถใช้แทน Slice ได้ เนื่องจาก Array สามารถยืดหยุ่นและสามารถขยายขนาดได้ตามต้องการ\u003C\u002Fp>\u003Cp>การทำงานกับ Subarray (เหมือน Slice):\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-javascript\">let numbers = [1, 2, 3, 4, 5];\nlet slice = numbers.slice(1, 4);  \u002F\u002F สร้าง Slice จาก index 1 ถึง 3\nconsole.log(slice);  \u002F\u002F [2, 3, 4]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>คำอธิบาย:\u003C\u002Fp>\u003Cul>\u003Cli>JavaScript ใช้ Array ที่สามารถขยายขนาดได้แทน Slice ในการเก็บข้อมูลลำดับหลายค่า และสามารถใช้ \u003Ccode inline=\"\">slice()\u003C\u002Fcode> เพื่อสร้าง subarray หรือ slice ของ Array\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>Go:\u003C\u002Fh3>\u003Cp>ใน Go, Slice เป็นตัวเลือกที่ยืดหยุ่นกว่า Array เนื่องจาก Slice สามารถปรับขนาดได้ระหว่างการใช้งาน และมักใช้ในการทำงานกับข้อมูลลำดับที่ไม่รู้ขนาดล่วงหน้า\u003C\u002Fp>\u003Cp>การประกาศและการใช้งาน Slice:\u003C\u002Fp>\u003Cpre>\u003Ccode class=\"language-plaintext language-go\">numbers := []int{1, 2, 3, 4, 5}  \u002F\u002F Slice โดยไม่ต้องกำหนดขนาด\nfmt.Println(numbers[1:4])  \u002F\u002F Slice ตั้งแต่ index 1 ถึง 3\nnumbers = append(numbers, 6)  \u002F\u002F เพิ่มค่าเข้าไปใน Slice\nfmt.Println(numbers)  \u002F\u002F [1 2 3 4 5 6]\n\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>คำอธิบาย:\u003C\u002Fp>\u003Cul>\u003Cli>Go ใช้ Slice แทน Array เพื่อให้สามารถเพิ่มขนาดได้ตามต้องการ โดยใช้คำสั่ง \u003Ccode inline=\"\">append()\u003C\u002Fcode> ซึ่งเป็นฟังก์ชันที่ใช้ในการเพิ่มค่าลงใน Slice\u003C\u002Fli>\u003C\u002Ful>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch2>ข้อดีข้อเสียของการใช้ Array และ Slice\u003C\u002Fh2>\u003Ch3>JavaScript:\u003C\u002Fh3>\u003Cul>\u003Cli>ข้อดี:\u003Cul>\u003Cli>Array ใน JavaScript สามารถขยายขนาดได้ตามต้องการ\u003C\u002Fli>\u003Cli>เมธอดที่ช่วยในการเพิ่ม\u002Fลบข้อมูลใน Array ทำให้การจัดการข้อมูลใน Array เป็นเรื่องง่าย\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fli>\u003Cli>ข้อเสีย:\u003Cul>\u003Cli>Array ใน JavaScript มีข้อจำกัดเรื่องการจัดการข้อมูลในบางกรณี เช่น การค้นหาหรือจัดเรียงข้อมูลที่มีขนาดใหญ่\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fli>\u003C\u002Ful>\u003Ch3>Go:\u003C\u002Fh3>\u003Cul>\u003Cli>ข้อดี:\u003Cul>\u003Cli>Slice ใน Go ยืดหยุ่นและสามารถปรับขนาดได้ตามต้องการ\u003C\u002Fli>\u003Cli>Go มักจะใช้ Slice ในการจัดการข้อมูลที่มีขนาดไม่คงที่ เนื่องจากสามารถขยายหรือย่อขนาดได้\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fli>\u003Cli>ข้อเสีย:\u003Cul>\u003Cli>Array ใน Go มีขนาดที่คงที่ ไม่สามารถเปลี่ยนแปลงขนาดได้หลังจากประกาศ\u003C\u002Fli>\u003Cli>การใช้ Slice อาจทำให้การจัดการหน่วยความจำต้องใช้การคำนวณที่มากขึ้นในการจัดการขนาดของ Slice\u003C\u002Fli>\u003C\u002Ful>\u003C\u002Fli>\u003C\u002Ful>\u003Cp>&nbsp;\u003C\u002Fp>\u003Chr>\u003Cp>&nbsp;\u003C\u002Fp>\u003Ch3>สรุปและข้อแนะนำ:\u003C\u002Fh3>\u003Cul>\u003Cli>JavaScript: ใช้ Array ที่สามารถขยายขนาดได้และเหมาะสำหรับการพัฒนา web applications ที่ต้องการการจัดการข้อมูลลำดับที่ยืดหยุ่น\u003C\u002Fli>\u003Cli>Go: ใช้ Array และ Slice ที่มีความยืดหยุ่นสูง โดยเฉพาะ Slice ที่สามารถปรับขนาดได้ตามต้องการ\u003C\u002Fli>\u003C\u002Ful>\u003Cp>หากคุณต้องการพัฒนา web applications ที่เน้นการจัดการข้อมูลที่มีความยืดหยุ่น JavaScript เป็นตัวเลือกที่ดี แต่ถ้าคุณต้องการประสิทธิภาพสูงในการจัดการข้อมูลที่มีขนาดไม่แน่นอน Go จะเหมาะสมกว่า\u003C\u002Fp>\u003Ch3>ตอนต่อไป:\u003C\u002Fh3>\u003Cp>ในตอนถัดไปของซีรีส์ JS2GO เราจะพาคุณไปทำความรู้จักกับ Pointers และ Memory Management ใน Go กับ JavaScript เพื่อเปรียบเทียบวิธีการจัดการหน่วยความจำและการใช้งาน Pointers ในทั้งสองภาษา\u003C\u002Fp>\u003Cp>หากคุณต้องการเรียนรู้วิธีการจัดการ Array และ Slice ใน JavaScript และ Go อย่างละเอียด และพัฒนาทักษะการเขียนโปรแกรมให้มีประสิทธิภาพ Superdev School พร้อมที่จะช่วยเสริมทักษะการพัฒนาโปรแกรมของคุณ! สมัครเรียนกับเราเลย!\u003C\u002Fp>\u003Cp>&nbsp;\u003C\u002Fp>\u003Cp>\u003Cstrong>อ่านบทความ Golang The Series: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002Fblogs\u002Fcategories\u002FGolang\">\u003Cstrong>Golang The Series\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>อ่านบทความ JS2GO: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002Fblogs\u002Fcategories\u002FJS2GO\">\u003Cstrong>JS2GO\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>🔵 Facebook: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.facebook.com\u002Fsuperdev.school.th\">\u003Cstrong>Superdev School &nbsp;(Superdev)\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>📸 Instagram: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.instagram.com\u002Fsuperdevschool\u002F\">\u003Cstrong>superdevschool\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp>\u003Cstrong>🎬 TikTok: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.tiktok.com\u002F@superdevschool\">\u003Cstrong>superdevschool\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>\u003Cp class=\"\" data-start=\"5978\" data-end=\"6095\">\u003Cstrong>🌐 Website: \u003C\u002Fstrong>\u003Ca target=\"_blank\" rel=\"noopener noreferrer\" href=\"https:\u002F\u002Fwww.superdev.school\u002F\">\u003Cstrong>www.superdev.school\u003C\u002Fstrong>\u003C\u002Fa>\u003C\u002Fp>","15_11zon_1_7pyh7m4y5a.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclblg987654321\u002Fgdxq7adofpftmyh\u002F15_11zon_1_7pyh7m4y5a.webp","2026-03-04 08:26:36.307Z","",{"keywords":15,"locale":48,"school_blog":58},[16,23,28,33,38,43],{"collectionId":17,"collectionName":18,"created":19,"created_by":13,"id":20,"name":21,"updated":22,"updated_by":13},"sclkey987654321","school_keywords","2026-03-04 08:24:41.147Z","ynjlx4r7gg96i0x","ความแตกต่างของ Go และ JavaScript","2026-04-10 16:07:29.748Z",{"collectionId":17,"collectionName":18,"created":24,"created_by":13,"id":25,"name":26,"updated":27,"updated_by":13},"2026-03-04 08:20:42.484Z","vslzz9nvv6n77cx","JavaScript","2026-04-10 16:07:28.339Z",{"collectionId":17,"collectionName":18,"created":29,"created_by":13,"id":30,"name":31,"updated":32,"updated_by":13},"2026-03-04 08:20:11.547Z","ey3puyme01a9bsw","Go","2026-04-10 16:07:25.893Z",{"collectionId":17,"collectionName":18,"created":34,"created_by":13,"id":35,"name":36,"updated":37,"updated_by":13},"2026-03-04 08:26:30.748Z","qq5k8fmolqvsyk8","Arrays","2026-04-10 16:07:30.368Z",{"collectionId":17,"collectionName":18,"created":39,"created_by":13,"id":40,"name":41,"updated":42,"updated_by":13},"2026-03-04 08:26:32.963Z","139ocmnehpp39zm","Slices","2026-04-10 16:07:30.811Z",{"collectionId":17,"collectionName":18,"created":44,"created_by":13,"id":45,"name":46,"updated":47,"updated_by":13},"2026-03-04 08:24:39.080Z","c1sf5bfjeaex1j0","JavaScript กับ Go","2026-04-10 16:07:29.340Z",{"code":49,"collectionId":50,"collectionName":51,"created":52,"flag":53,"id":54,"is_default":55,"label":56,"updated":57},"th","pbc_1989393366","locales","2026-01-22 10:59:55.832Z","twemoji:flag-thailand","s8wri3bt4vgg2ji",true,"Thai","2026-04-10 15:42:46.614Z",{"category":59,"collectionId":60,"collectionName":61,"expand":62,"id":76,"views":77},"hsa1afr8fcnd6qb","pbc_2105096300","school_blogs",{"category":63},{"blogIds":64,"collectionId":65,"collectionName":66,"created":67,"created_by":13,"id":59,"image":68,"image_alt":13,"image_path":69,"label":70,"name":71,"priority":72,"publish_at":73,"scheduled_at":13,"status":74,"updated":75,"updated_by":13},[],"sclcatblg987654321","school_category_blogs","2026-03-04 08:24:37.986Z","js2_go_2_11zon_y6paxmuz32.webp","https:\u002F\u002Ftwsme-r2.tumwebsme.com\u002Fsclcatblg987654321\u002Fhsa1afr8fcnd6qb\u002Fjs2_go_2_11zon_y6paxmuz32.webp",{"en":71,"th":71},"JS2GO",10,"2025-08-11 03:41:08.820Z","published","2026-04-10 16:08:23.388Z","jtrpdts7qsyk66s",239,"gdxq7adofpftmyh",[20,25,30,35,40,45],"2025-08-05 02:05:51.768Z","เปรียบเทียบการทำงานกับ Arrays และ Slices ใน JavaScript และ Go เพื่อให้คุณเข้าใจวิธีการใช้งานในแต่ละภาษา","working-with-arrays-and-slices-javascript-vs-go","2026-04-12 18:15:30.214Z",1,{"th":82}]