ករងនិងសំណុំ គឺជាទិន្នន័យម៉្យាងដែលនៅក្នុងនោះមានទិន្នន័យជាច្រើនទៀត។ ទីន្នន័យនៅក្នុងកំរងឬសំណុំ ត្រូវគេចាត់ទុកថាធាតុរបស់កំរងឬសំណុំ។ នៅក្នុងភាសា ES6 គ្រប់ទិន្នន័យទាំងឡាយណា ដែលមានធាតុជាទិន្នន័យមួយចំនួនទៀត ត្រូវចាត់ទុកថាជា ទិន្នន័យសមាស (container) ។ ដូចនេះ កំរងនិងសំណុំត្រូវចាត់ទុកថាជាទិន្នន័យសមាស ពីព្រោះវាជាទិន្នន័យដែលមានធាតុជាច្រើនទៀតនៅក្នុងនោះ។
ធាតុរបស់ទិន្នន័យសមាស អាចជាទិន្នន័យប្រភេទណាក៏បានដែរ។ ដូចនេះ ក្រៅពីលេខនិងប្រយោគ យើងក៏អាចយកទិន្នន័យសមាសផ្សេងៗទៀត មកធ្វើជាធាតុរបស់ទិន្នន័យសមាសណាមួយទៀតបានដែរ។ ពិនិត្យកម្មវិធីខាងក្រោមនេះ៖
let dimension1 = [100, 1.75, 16]
let dimension2 = {'បណ្តោយ':100, 'កំពស់':1.75, 'ទទឹង':16}
//បង្កើតកំរងដែលមានធាតុជាទិន្នន័យសមាស
let list = [dimension1, dimension2]
//បង្កើតសំណុំដែលមានធាតុជាទិន្នន័យសមាស
let set = {'label1':dimension1, 'label2':dimension2}
console.log(list)
console.log(set)
ក្នុងករណីទិន្នន័យសមាសមួយមានធាតុជាទិន្នន័យសមាសផ្សេងៗទៀត ដើម្បីចម្លងនិងឬដោះដូរធាតុនិងឬតម្លៃនៃទិន្នន័យសមាសអដែលជាធាតុ យើងត្រូវធ្វើដូចខាងក្រោមនេះ៖
let dimension1 = [100, 1.75, 16]
let dimension2 = {'បណ្តោយ':100, 'កំពស់':1.75, 'ទទឹង':16}
let list = [dimension1, dimension2];
let set = {'label1':dimension1, 'label2':dimension2}
/*ការធ្វើប្រមាណវិធីលេខរៀង ដើម្បីចំលងយកធាតុ
នៃកំរងដែលជាធាតុនៃកំរងមួយទៀត*/
console.log(list[0][2])
/*ការធ្វើប្រមាណវិធីលេខរៀង ដើម្បីចំលងយកធាតុ
នៃសំណុំដែលជាធាតុនៃសំណុំមួយទៀត*/
console.log(set['label2']['កំពស់'])